From: Victor Reyes Date: 2007-12-28T04:17:05+09:00 Subject: Re: Is there a maximum size for the receive in a TCPSocket as in str = streamSock.recv( 64000 )? ------=_Part_11223_26951806.1198783030821 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 > > ------=_Part_11223_26951806.1198783030821--