Is there a maximum size for the receive in a TCPSocket as in str = streamSock.recv( 64000 )?

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
5562bytes.
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

On Dec 27, 12:29 pm, Victor R. [email protected] wrote:

printed to the screen for testing.
input = session.gets
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

Hey Jordan, I owe one.
It works like a charm!

Thanks again,

Victor

On Dec 27, 1:17 pm, Victor R. [email protected] wrote:

When this happens the server side fails with a *write: broken
port = 19557

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. :wink:

Regards,
Jordan