On Dec 27, 12:29 pm, Victor Reyes <victor.re... / gmail.com> 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