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