我正在第一次使用C++中的UDP套接字,並且我不確定我是否理解它們是如何工作的。我知道sendto
/recvfrom
和send
/recv
通常會返回實際發送或接收的字節數。我聽說這個值可以任意小(但至少爲1),並且取決於套接字緩衝區(讀取時)的數據量或緩衝區中剩餘的空閒空間量(寫入時)。關於UDP/IP和sendto/recvfrom返回值的困惑
如果sendto
和recvfrom
只能保證每次發送或接收1個字節,並且數據報可以不按順序接收,那麼UDP協議如何保持一致?這不意味着當我收到消息時,消息中的字節可以隨意洗牌嗎?有沒有辦法保證郵件一次發送或接收?