Я работаю над небольшим клиентом ruby, который отправляет непрерывный поток информации на сервер сокетов (который затем передается другим прослушивающим клиентам). Я не хочу закрывать соединение каждый раз, когда отправляются данные, однако кажется, что с ruby данные не отправляются, пока я не закрою соединение. Есть ли другой способ сделать это без повторного подключения к серверу? Важно, чтобы исходящие данные передавались сразу же после их отправки клиентским скриптом.
В настоящее время я должен сделать это в цикле:
s = TCPsocket.new('127.0.0.1',2000)
s.send('Hello World',0)
s.close
Однако это означает, что мне постоянно приходится повторно подключаться к серверу сокетов, часто в очень быстрой последовательности. Я хотел бы иметь возможность подключиться к серверу сокетов за пределами цикла и закрыть, когда цикл будет завершен. Если я сделаю это сейчас, все отправленные данные будут отправлены сразу, когда будет инициировано «закрытие».
Можно ли сохранить соединение открытым, продолжая отправлять информацию? Я знаю, что это возможно в других языках и сценариях, как я делал это несколько раз в AS3.
Заранее спасибо.