On Dec 27, 9:13 am, Victor Reyes <victor.re... / gmail.com> 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