Re: Не могу освоить IO:Async::.. или почему read всегдас нач
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.06.10 16:34
Оценка:
Здравствуйте, Spider84, Вы писали:

S>должен по задумке выводить на экран результат работы пинг.

S>Он и выводит только вот так:
S>

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
S>64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.069 ms
S>PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
S>64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.069 ms
S>64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.054 ms
S>PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
S>64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.069 ms
S>64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.054 ms
S>64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.052 ms


S>Почему так?


Потому что буфер не чистите.
Асинхронные обработчики такого рода могут проектироваться так, что управляющий слой накапливает данные в буфере, а клиентский обработчик просто проверяет буфер и смотрит, есть ли полное сообщение для обработки. Если есть — выбирает его и не забывает очистить. Вы — забываете.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.