本機兩個 UDP 程式(發送端/接收端),第一次發送正常接收,第二次發送接收端收不到資料。
UDP 是無連線、不可靠協議:
recvfrom(sServer, szBuf, strlen(szBuf), ...) 第三參數應為緩衝區長度 sizeof(szBuf),而非 strlen(szBuf)(未初始化陣列長度為 0)。sendto 回傳實際發送位元組數,應驗證是否等於預期長度。| 特性 | UDP | TCP |
|---|---|---|
| 連線建立 | 無 | 三向交握 |
| 序列號/確認 | 無 | 有 |
| 超時重傳 | 無(應用層自行實作) | 內建 |
| 流量/擁塞控制 | 無 | 有 |
| 適用場景 | 即時影音、廣播、遊戲狀態同步 | 檔案傳輸、HTTP、資料庫連線 |
SOCK_STREAM (TCP) 或在 UDP 上層實作可靠協議(如 KCP、QUIC)。