How do I get the hostname or IP address during a TCPServer "conversation"

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.

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?

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

[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

···

On Dec 27, 9:13 am, Victor Reyes <victor.re...@gmail.com> wrote: