Как я могу читать из файлового дескриптора IO :: Socket :: INET, только если есть полная строка? - PullRequest
2 голосов
/ 25 ноября 2008

При чтении из файлового дескриптора IO :: Socket :: INET нельзя предполагать, что в потоке всегда будут доступны данные. Какие методы доступны для просмотра потока, чтобы проверить, доступны ли данные, или при чтении не берут данные без действительного завершения строки и сразу проходят чтение?

Ответы [ 2 ]

9 голосов
/ 25 ноября 2008

Установите параметр Blocking на 0 при создании сокета:

$sock = IO::Socket::INET->new(Blocking => 0, ...);
3 голосов
/ 25 ноября 2008

Оформить заказ IO :: Выбрать ; это очень часто, что я использую при работе с сокетами неблокирующим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...