Sockets are Killing Me!

I've been trying to interface to the onlineNIC API which uses sockets. The following 4 lines of test code illustrate my problem:

socket=TCPSocket::new('ip','port') puts("Connect:\n"+socket.read()+"\n\n") socket.print(login_request) puts("Login:\n"+socket.read()+"\n\n")

In the actual code the real IP address and port number are substituted for 'ip' and 'port' in the above.

In the first line I establish a connection. In the second line I print the response. These 2 lines work perfectly. In the 3ed line I attempt to submit a request and in the 4th line I attempt to print the response returned for that request submission. I get nothing back.

I'm real green with sockets. With that in mind, my question is this: Is there something fundamentally wrong with what I have done in the 3ed and 4th lines; or, should I expect this to work? TIA for any input. BTW, I've appended my full test code in the event that it is somehow relevant. Thanks again.

         ... doug

Full Test Code:

require 'socket' login_request=<<'_ALTO' <?xml version="1.0" encoding="UTF-8" standalone="no"?> <request> <category>client</category> <action>Login</action> <params>   <param name="clid">135610</param>   <cltrid>135610A1276479316B171</cltrid>   <chksum>4bdee845b6e6dc67754b038f2b08bf74</chksum> </params> </request> _ALTO socket=TCPSocket::new('ip','port') puts("Connect:\n"+socket.read()+"\n\n") socket.print(login_request) puts("Login:\n"+socket.read()+"\n\n")