最近使用Java作Socket客戶端,與C的Socket服務端交互。遇到問題:現象是能夠從服務端接受小數據,可是若是接受大數據,老是遇到Connection reset的異常;若是把服務端和客戶端放到同一臺機器上,不管接受大數據仍是小數據都不會出錯。服務器
還一度懷疑是網絡問題,延時太大。後來通過屢次調試才發現,客戶端發送的某個數據,服務器端沒有執行read操做,致使服務器發送完數據後報錯,發送RST消息。這樣客戶端的Socket就被強制斷掉了,致使接受不到剩餘數據。網絡