2012-03-28 27 views
5

"GETHELLO"コマンドを受け入れ、 "HELLO"を返すTCPサーバーを起動しています。 私はLinuxのシェルでTelnetを使用してテスト:ルビーでTCPデータを送受信する

:~$ telnet 192.168.1.10 3000 
Trying 192.168.1.10... 
Connected to 192.168.1.10. 
Escape character is '^]'. 
GETHELLO 
HELLO 

は、どのように私はこれを行うことができますルビーでTCPSocketを使用していますか? ( "GETHELLO"を送信し、サーバーから返された "HELLO"データを読む)

ありがとう!

答えて

8
require 'socket' 
sock = TCPSocket.new('192.168.1.10', 3000) 
sock.write 'GETHELLO' 
puts sock.read(5) # Since the response message has 5 bytes. 
sock.close 
+0

私はもう少しRubyishにして、ハードコードされたrecvバッファサイズを使用しないように編集しました。あなたが気にしないことを願っています。 –

+0

@NiklasB .:いいです、ありがとう。 – maerics

+0

私はこれを試してみましたが、sock.getsはデータを返さず、無期限に待機します。ありがとう。 – Jeremy

関連する問題