TCP接收通用模式

問題描述

Tcp接收通常調用 recieve/read 接口 來接收發送過來的字符串,假設發送帶寬不足,致使該數據包不能經過 recieve/read 接口 一次讀取spa

通用思路

給數據包作一個簡單的封裝,數據包開頭的四個字節用來存放一個 unsigned int 用來描述數據包整個長度,之因此用 32位的來描述是由於,Linux系統Tcp接收最大緩衝區通常爲 8M 即 23位,因此能夠採用 unsigned int來描述。接口

每次讀取的時候,先判斷緩衝區是否等於或者多餘 4 個字節內容,若是爲真,則爲此時要接收數據包的長度。而後阻塞循環調用 recieve/read 接口,直至能夠讀滿完整的一個數據包長度ci

相關文章
相關標籤/搜索