私は初めてC++でUDPソケットを使用していますが、それらがどのように機能するかがわかりません。sendto
/recvfrom
およびsend
/recv
は通常、実際に送信または受信されたバイト数を返すことを知っています。この値は任意に小さく(ただし少なくとも1つ)、ソケットのバッファーにあるデータの量(読み取り時)またはバッファーに残っている空き領域の量(書き込み時)によって異なります。
一度に1バイトが送受信され、データグラムが順不同で受信されることを保証するだけの場合sendto
、 UDPプロトコルの一貫性を維持するにはどうすればよいでしょうか。recvfrom
これは、メッセージのバイトを受信したときに任意にシャッフルできることを意味しませんか?メッセージが一度に送受信されることを保証する方法はありますか?