2012-03-28 15 views
5

"GETHELLO" komutunu kabul eden ve "HELLO" döndüren bir TCP sunucum var. ben linux kabuğunda Telnet test:TCP veriyi ruby'ye gönderip alma

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

Bunu nasıl yapabilirim Ruby TCPSocket kullanarak? ("GETHELLO" gönder ve sunucu tarafından döndürülen "HELLO" verilerini oku)

Teşekkürler!

cevap

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

Biraz daha Rubyish yapmak ve bir kodlanmış recv arabellek boyutu kullanmamak için düzenledim. Umarım sakıncası yoktur. –

+0

@NiklasB .: İyi görünüyor, teşekkürler. – maerics

+0

Bunu deniyorum ama iade verisi yok ve süresiz bekle. Teşekkürler. – Jeremy