LINUX.ORG.RU

ruby telnet server + client

 


0

1

Ола, господа.
Есть клиент и сервер.
При коннекте, клиент, выполняет только первую команду (я вижу её выхлоп), но на этом запинается. Потом отбивает ошибкой, о том, что не получил данных.

/usr/lib/ruby/1.9.1/net/telnet.rb:558:in `waitfor': timed out while waiting for more data (Timeout::Error)
	from /usr/lib/ruby/1.9.1/net/telnet.rb:695:in `cmd'
	from ./ruby/telnet_client.ru:10:in `<main>'
Знатоки сабжа, буду очень благодарен за указание на мой затуп. Заранее благодарен.
ЗЫ:при живом подключении телнетом - всё со стороны сервера отрабатывает нормально

Ну, он как бы ждет, что сервер напишет приглашение. Я сделал

client.cmd ({«String» => "?", «Match» => /#/}) {|str| puts str}

на сервере написал после ответа новой строкой # - cmd вернулся без таймаута, правда, приглашение тоже попало в возвращенное значение. попробуй документацию почитать и поиграться с Match в cmd или при инициализации

anonymous ()
Ответ на: комментарий от anonymous

Странно, я предположил подобный подвох, читая доку, и натравливал на «>», добавляя этот символ новой строкой. Может чего не доглядел. Спасибо за совет, но только завтра отпишусь о результатах, пишу с недомашинки.

Spirit_of_Stallman ★★★ ()
Ответ на: комментарий от anonymous

Да, вы оказались правы (собственно и я тоже, в плане того что нашел где затупил). Проблема была в ожидании последовательности для «Match». Спасибо

Spirit_of_Stallman ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.