你能幫我嗎?我有一個與gen_tcp發送函數有關的問題。我一直試圖從我的erlang服務器向我的flash客戶端發送幾個元組,大約10-15個元素,這些元組被解碼爲amf對象。erlang gen_tcp發送問題
case get_tcp:send(Socket, Msg) of
ok -> io:format("sent~n");
{erorr, Err} -> io:format("~w~n", [Err])
end
沒有錯誤,但Flash客戶端沒有收到整個數據只是約8-11項。套接字選項是[二進制,{active,true},{reuseaddr,true}]。我檢查了我的網絡,我使用客戶端 - 發送的數據包被分成兩個片段,大大小小。大的一個是數據包的第一個片段,而下一個是小數據包。 bigs的數量與發送的消息數量相同,但小數量少於flash客戶端收到的消息數量。
它只會再現,如果我發送數據的速度很快,如果我慢慢做它似乎確定。有誰知道它爲什麼會發生?這將是非常有益的。
您是什麼意思「我發送數據快」?是否有可能用完緩衝存儲器並丟棄包?你確定你在另一端正確地讀取數據嗎? wireshark展示了什麼? – 2012-03-19 08:57:23