[Ruby] чтение из сокета неопределенного количества строк

vic ismakaev viclists at mail.esoo.ru
Wed May 7 18:43:07 MSD 2003


7 Май 2003 19:42, Eugene Scripnik написал:
> vic ismakaev wrote:
> >>Проверяй на ! @s.eof
> >
> > Увы.Но сервер не возвращает EOF при таких запросах.
> > Он просто гонит строки ,оканчивающиеся на "\r\n" либо "\n",либо не гонит
> > ничего.
> > А я хочу сделать цикл,который вываливается ,если сервер не возвращает
> > ничего. То биш -
> > <цикл>
> > сервер> пишет строку в сокет
> > клиент> читает строку и что-то с ней делает
> > сервер> не пишет строку в сокет(ничего не шлет)
> > клиент> вывалится из цикла
> > <конец цикла>
> >
> > Насколько я понял - надо пользоваться неблокирующим чтением сокета.Но как
> > это сделать - не пойму.:(
>
> Можно перед посылкой строк указывать сколько их будет послано:
> server: 3
> server: 'aaa'
> server: 'bbb'
> server: 'bbb'
>
> client:
> получил 3, значит читаем 3 строки и выходим
>
> А можно в качестве окончания высылать некую комбинацию (например пустую
> строку или <BLA_BLA>)
Для этого нужно переделывать сервер.
-- 
С уважением
Виктор В Исмакаев



More information about the Ruby mailing list