From: MonkeeSage Date: 2007-12-28T01:15:07+09:00 Subject: Re: How do I get the hostname or IP address during a TCPServer "conversation" On Dec 27, 9:13 am, Victor Reyes wrote: > [Note: parts of this message were removed to make it a legal post.] > > Hello Team, > > I have a client which connects to the simple server listed below. > I would like to be able to get either the hostname or the IP address of the > client. > Is there a way to do this? I am sure that this information is hidden in some > place, as the server needs it to return the call. TCPSocket#peeraddr. E.g., ... peer = session.peeraddr.values_at(2 ,3) p peer # => ["localhost", "127.0.0.1"] ... > Also, in the client code I specified the length of the arriving (recv) > string. Is there a way to receive any size output from the server? TCPSocket#read. E.g., ... str = streamSock.read ... > Thank you > > This is the server code: > > require 'socket' > port = 19557 > server = TCPServer.new("", port) > > while (session = server.accept) > input = session.gets > userCMD_output = `#{input}` > session.write("#{userCMD_output}") > session.close > end > > This is the client code: > > def runIt( srvr, comm ) > require 'socket' > port = 19557 > streamSock = TCPSocket.new( srvr, port ) > streamSock.puts("#{comm}\n") > str = streamSock.recv( 64000 ) > puts "Output from Server: #{srvr}" > print str > puts "\n" > streamSock.close > end > > Victor HTH, Jordan