2
我通过TCP套接字发送和接收JSON数据。当数据量较小时,它可以正常工作,如200字节左右。但是当它达到大约10 KB时,它只接收部分数据。我试过所有不同的TCP套接字检索数据命令,我可以找到(读取,获取,gets.chomp,recv),但我无法找到一个适用于我所有测试的工具。通过ruby TCP接收大量数据的问题Socket
这里是我现在的代码:
socket = TCPSocket.new '10.11.50.xx', 13338
response = socket.recv(1000000000)
我也尝试添加了超时,但我无法得到它的工作:
socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_RCVTIMEO, 1)
我不知道我错过了什么。任何帮助,将不胜感激。
这解决了我的问题。我使用TLV封装器发送了响应,并能够使用该长度来确定要读取的字节数。我用'TCPSocket#read'代替'TCPSocket#recv'。谢谢! – rmsimpsonau