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

Yuri Leikind y.leikind at sam-solutions.net
Wed May 7 18:57:15 MSD 2003


On Wed, 7 May 2003 20:43:07 +0600
vic ismakaev <viclists at mail.esoo.ru> wrote:

> 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>)
> Для этого нужно переделывать сервер.

Значит у Вас есть 2 варианта - 
1) переделывать сервер, 
2)  иметь его в нерабочем состоянии ;-))


-- 
Best regards,
Yuri Leikind


"... 5 years from now everyone will be running free 
GNU on their 200 MIPS, 64M SPARCstation-5."

Andy Tanenbaum to Linus Torvalds 
in comp.lang.minix on Jan 1, 1992
http://groups.google.com/groups?lr=&selm=12615%40star.cs.vu.nl



More information about the Ruby mailing list