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

On Dec 27, 9:13 am, Victor R. [email protected] 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

            userCMD_output = `#{input}`
    streamSock.puts("#{comm}\n")
    str = streamSock.recv( 64000 )
    puts "Output from Server: #{srvr}"
    print str
    puts "\n"
    streamSock.close

end

Victor

HTH,
Jordan

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs