From: MonkeeSage Date: 2007-12-28T04:29:58+09:00 Subject: Re: Is there a maximum size for the receive in a TCPSocket as in str = streamSock.recv( 64000 )? On Dec 27, 1:17 pm, Victor Reyes wrote: > [Note: parts of this message were removed to make it a legal post.] > > Hey Jordan, I owe one. > It works like a charm! > > Thanks again, > > Victor > > On Dec 27, 2007 2:04 PM, MonkeeSage wrote: > > > On Dec 27, 12:29 pm, Victor Reyes wrote: > > > [Note: parts of this message were removed to make it a legal post.] > > > > Hello Team, > > > > Is there a limit on the amount of data (bytes) that can be received via > > the > > > *str = streamSock.recv( 64000 )* stmt below? > > > Although I put *64000 *bytes, I consistently do not get more than > > *5562*bytes. > > > When this happens the server side fails with a *`write`: broken > > > (Errno::EPIPE)* msg. > > > I know that the variable, *userCMD_output* contains all the data, since > > I > > > printed to the screen for testing. > > > > 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 > > > See my reply to the last thread you posted (in short, use #read rather > > than #recv). > > > Regards, > > Jordan Glad to be of some help! I've received enough help from the group -- I guess it's about time to give some back. ;) Regards, Jordan