Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : val khokhlov                         2:550/180      27 Nov 2003  18:39:02
 To : Vadim Tzirulnicov
 Subject : Чтение с хоста
 -------------------------------------------------------------------------------- 
 
 
 27 Nov 03 17:06, Vadim Tzirulnicov wrote to All:
 
  VT> print $data while sysread($socket,$data,1024);
  VT> - сценарий считывает приветствие, но... не завершается. Завершается только
  VT> тогда, когда получает timeout от binkd и закрытие хоста от онного.
 
         только закрытие сокета, а не закрытие хоста :)
         все правильно, в общем-то. если ты вставишь в цикл парный send
 (syswrite), данные из sysread будешь складывать в буфер (и аккуратно
 анализировать binkp-пакеты), а данные для send/syswrite будешь брать из буфера
 (в который складываются binkp-пакеты), то получишь перловый binkp-мэйлер :)
         правда, это все только при не-блокирующем io (см. fcntl)... но вот как
 тогда отличить ситуацию "прочитайли 0 байт" от "сокет был закрыт"?
         а прочитать "только приветствие" не получится, т.к. его нет. можно
 просто разорвать связь после получения определенных пакетов (или по времени). но
 для этого лучше читай описание binkp и спрашивай в ru.binkd
 
   Good luck!
              val
 
 --- System uptime: 383 days, 23 hours, 50 minutes, 8 seconds
  * Origin: I noore uu alasseo (2:550/180)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Чтение с хоста   Vadim Tzirulnicov   27 Nov 2003 18:06:57 
 Чтение с хоста   Ivan Frolcov   27 Nov 2003 19:34:57 
 Чтение с хоста   val khokhlov   27 Nov 2003 18:39:02 
 Re: Чтение с хоста   Andrey Sapozhnikov   27 Nov 2003 22:02:14 
Архивное /ru.perl/18203fc63dd2.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional