| Hi-Tech Обзоры
2014-06-02 13:27:12
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 23)
Чтобы определить группу процесса для конкретного процесса, можно вызвать функцию getpgrp () языка Perl и передать функции kill () отрицательное подробнее >>
2014-06-01 02:17:27
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 22)
Автоматический перевод в фоновый режим.
В этом разделе будет разработана процедура автоматического перевода сетевых демонов в фоновый режим и подробнее >>
2014-06-01 02:16:40
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 22)
Автоматический перевод в фоновый режим.
В этом разделе будет разработана процедура автоматического перевода сетевых демонов в фоновый режим и подробнее >>
2014-05-25 23:38:29
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 21)
Эти операции преследуют две цели. Одна из них состоит в том, чтобы программа демона (или запущенный ею подпроцесс) не имела возможности вновь открыть подробнее >>
2014-05-25 23:32:39
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 20)
Применение демонов в системах UNIX.
Рассматриваемый психотерапевтический сервер с ветвлением имеет один недостаток. После запуска он не переходит подробнее >>
2014-05-25 23:25:10
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 19)
Еще одним интересным результатом проверки производительности является то, что при попытке заменить в сценарии встроенные вызовы функций syswrite () и подробнее >>
2014-05-25 23:15:37
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 18)
Однако нельзя провести такое сравнение функций syswrite () и print (). Поскольку автоматический сброс буферов объектов IO::Socket предусмотрен по подробнее >>
2014-05-25 23:07:07
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 17)
Оказалось, что достаточно внести незначительные изменения в сценарий , чтобы превратить его в клиентский сценарий такого типа. В листинге далее подробнее >>
2014-05-25 11:44:11
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 16)
Клиентский сценарий для психотерапевтического сервера.
Прежде чем перейти к дальнейшему описанию серверов с ветвлением, подготовим сценарий, с подробнее >>
2014-05-24 13:27:40
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 15)
Запустив сервер, вы можете убедиться в том, что у вас есть возможность подключаться по telnet к порту 1200б, поделиться с “психотерапевтом” своими переживаниями и рассказать о проблемах. Использовать данную программу также просто, как купить Xbox 360 прошитый на сайте . Без закрытия предыдущего сеанса откройте новое окно и снова подключитесь по telnet к порту 12000. Вы сможете провести одновременно несколько сеансов. Выполните программу ps, чтобы убедиться в том, что каждый активный сеанс создает новую копию сервера, а после закрытия сеанса соответствующий процесс немедленно исчезает, не оставляя зомби. После проверки уничтожьте сервер, нажав клавиши .
Применение психотерапевтического сервера на платформах Windows
Хотя функция fork() работает в системах Windows, в них функция fdopen (), но может применяться с сокетами. В системах Windows необходимо изменить подпрограмму interact,() листинга и исключить в ней вызов функции fdopen (). Проще всего это сделать, заменив вызов метода command_interface новой версией, которая вместо жестко запрограммированных устройств, STDIN и STDOUT принимает к использованию дескрипторы входного и выходного файлов. В следующих разделах будет представлен подкласс Chatbot::Eliza::Server класса Chatbot::Eliza, который выполняет именно эту задачу.
Для запуска этого сервера с ветвлением на платформах Windows введите вместо строки Chatbot::Eliza,следующую строку:
use Chatbot::Eliza::Server; и измените подпрограмму interact (), чтобы она выглядела примерно так:
sub interact {my $sock = shift; my $bot = Chatbot::Eliza::Server->new;$bot->command_interface($sock, $sock); close $sock;} подробнее >>
2014-05-24 13:16:23
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 14)
Строки 28, 29. Завершение работы родительского процесса. Если значение переменной $child отлично от нуля, то управление находится в родительском подробнее >>
2014-05-22 13:44:30
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 13)
Строки 20, 21. Прием входящих соединений. Теперь сценарий входит в цикл while (). При каждом проходе по циклу вызывается функция accept () для подробнее >>
2014-05-15 11:56:13
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 12)
Проведем анализ программы.
Строки 1-5. Загрузка модулей. Работа начинается с загрузки модулей Chatbot::Eliza и IO:: Socket и импорта константы подробнее >>
2014-05-12 13:17:48
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 11)
Решение этих проблем состоит в вызове функции waitpid() с указанием параметра $pid, равного -1, и параметра flag со значением WNOHANG. Первый параметр подробнее >>
2014-05-11 18:38:54
Perl для IP-Телефонии (32 – TCP клиент/сервер, часть 10)
Следующий фрагмент кода можно встретить во многих серверных сценариях.
$SIG {CHLD} = sub { wait () ; }
Смысл этого оператора сводится к тому, что подробнее >>
| |
|
|