[Ruby] чтение из сокета неопределенного количества строк
Eugene Scripnik
Eugene.Scripnik at itgrp.net
Wed May 7 19:19:06 MSD 2003
vic ismakaev wrote:
>>А можно в качестве окончания высылать некую комбинацию (например пустую
>>строку или <BLA_BLA>)
>
> Для этого нужно переделывать сервер.
В таком случае используй предложеный метод с select:
if select( [sock], nil, nil, 0.5 )
while line = sock.gets
puts line
end
else
raise 'out of input'
end
Второй параметр к select это масив output devices.
А в приведенной выше конструкции select возвращает nil, если в sock
ничего не появилось в течении 0.5 секунд.
Сам селект ничего ни читает он лишь проверяет доступность данных. Чтение
нужно делать самому.
--
Eugene Scripnik
IT Group
Software Architect
Tel./Fax +380 (372) 58-43-10
email: Eugene.Scripnik at itgrp.net
http://www.itgrp.net/
More information about the Ruby
mailing list