❶ 利用qt tcpsocket接受大數據包,但是數據只能接受至5k,之後的數據丟失嚴重,求指教!
對於大數據包 建議還是分段傳送 也就是你要自己寫一個關於發送接收的協議 一次性讀取或者發送是一個不太好的做法 雖然TCP在發送過程中會有數據的驗證什麼的 但是如果緩沖區一下子就滿了 起始還是會丟失部分數據的
建議分段發送跟分段接收
既由客戶端來決定發送的頻率 (假定1M的數據包 分段稱8K的一個小包 那麼就變成 發送128次 在客戶端接收到其中的一個包假定是第N個 在接收完了 並且驗證數據是正確的時候 那麼就在客戶端發送給服務端一個請求的數據包 讓伺服器發送第N+1個數據包 依次處理)