URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6430
[ Назад ]

Исходное сообщение
"асинхронные сокеты Perl"

Отправлено harakiry , 02-Май-07 08:01 
Кто что скажет, с чего начать, куда рыть ?

Содержание

Сообщения в этом обсуждении
"асинхронные сокеты Perl"
Отправлено NuINu , 02-Май-07 09:54 
>Кто что скажет, с чего начать, куда рыть ?
Рой в сторону синхронных!!!
советую!
в свое время реализовывал асинхронные еще на дельфях, не гемор конечно, но логика размазывается по сети состояний, нафига оно нужно? А потом все это все равно нужно сводить к синхронному потоку.


"асинхронные сокеты Perl"
Отправлено harakiry , 02-Май-07 18:13 
Пишу скрипт для взаимодействия с сервером и в описании протокола вот что написано:
взаимодействие с сервером происходит поверх постоянно установленного tcp-соединения посредством асинхронного обмена командами.

Скрипт обменивается данными с сервером(при использовании модуля IO::Socket(тип соединения не указывал)) спокойно, но боюсь эта асинхронность указанная в протоколе ещё всплывёт в процессе написания. МОжет я не правильно что-то понял


"асинхронные сокеты Perl"
Отправлено harakiry , 02-Май-07 18:23 
>Пишу скрипт для взаимодействия с сервером и в описании протокола вот что
>написано:
>взаимодействие с сервером происходит поверх постоянно установленного tcp-соединения посредством асинхронного обмена командами.
>
>
>Скрипт обменивается данными с сервером(при использовании модуля IO::Socket(тип соединения не указывал)) спокойно,
>но боюсь эта асинхронность указанная в протоколе ещё всплывёт в процессе
>написания. МОжет я не правильно что-то понял ?



"асинхронные сокеты Perl"
Отправлено NuINu , 03-Май-07 10:28 
>Пишу скрипт для взаимодействия с сервером и в описании протокола вот что
>написано:
>взаимодействие с сервером происходит поверх постоянно установленного tcp-соединения посредством асинхронного обмена командами.
>
>
>Скрипт обменивается данными с сервером(при использовании модуля IO::Socket(тип соединения не указывал)) спокойно,
>но боюсь эта асинхронность указанная в протоколе ещё всплывёт в процессе
>написания. МОжет я не правильно что-то понял

Конечно не правильно!!! Асинхронный сокет, выдумка Била гейтса(могу путать, но в винде они сильно распространены), это когда ты объявляешь функции Send, Recive, Close, Connect, открываешь сокет и говоришь операционке: "Если что стукнешь". И вот если что случается операционка по типу события вызывает твои функции. пришел пакет дергает recive, пакет отправился, сообщает что мол все send!
А реальные вызовы функций только дают задание, и неблокируясь возвращают управление программе.
Код обработки простейшей команды размазывается между основной функцией, recive и send, и еще конечный автомат туда приделывается.

А то что нужно сделать тебе, это обычные синхронные блокрующиеся сокеты. по которым идет некий не определенный за ранее поток команд, ну поставь функцию комплектации приема(синтаксический анализатор) и парсер команд(лексический анализатор) и все дела.


"асинхронные сокеты Perl"
Отправлено Forth , 03-Май-07 10:37 
>Асинхронный сокет, выдумка Била гейтса(могу путать, но в винде
>они сильно распространены), это когда ты объявляешь функции Send, Recive, Close,
>Connect, открываешь сокет и говоришь операционке: "Если что стукнешь". И вот
>если что случается операционка по типу события вызывает твои функции. пришел
>пакет дергает recive, пакет отправился, сообщает что мол все send!
>А реальные вызовы функций только дают задание, и неблокируясь возвращают управление программе.
Вы путаете, это не асинхронный ввод-вывод, это событийная модель.



"асинхронные сокеты Perl"
Отправлено NuINu , 03-Май-07 11:28 
>Вы путаете, это не асинхронный ввод-вывод, это событийная модель.
Ну может быть немного их смешиваю, неблокирующийся сокет дополнен событиями. теоретически наверное можно и без событий :) но я этого удовольствия не пробовал.
Впрочем, касаемо перла, и желания поработать с неблокирующимися сокетами, вот пожалуйста, (автору вопроса) читайте Линкольн Штайн 13 глава, советую начать с Резюме :)


"асинхронные сокеты Perl"
Отправлено harakiry , 05-Май-07 16:07 
Благодорю всех за разъяснения, особенно за наводку на Линкольн :)

"асинхронные сокеты Perl"
Отправлено Dmitry , 07-Май-07 00:10 
люди где можно взять почитать Линкольн Д. Штайн?
Хотя бы на англ? Но на русском предпочтительней :)

"асинхронные сокеты Perl"
Отправлено Dmitry , 08-Май-07 09:34 
>люди где можно взять почитать Линкольн Д. Штайн?
>Хотя бы на англ? Но на русском предпочтительней :)

Книгу нашел. вот тут можно взять
http://ifolder.ru/1932159


"асинхронные сокеты Perl"
Отправлено NuINu , 08-Май-07 11:26 
>>люди где можно взять почитать Линкольн Д. Штайн?
>>Хотя бы на англ? Но на русском предпочтительней :)
>
>Книгу нашел. вот тут можно взять
>http://ifolder.ru/1932159
Я предпочитаю бумажный вариант. но спасибо за ссылку.