0

有線で送信されるバイト数を最小限に抑えたいと考えているクライアントがいます。udpClientクラスを作成し、receiveメソッドを呼び出すと、バイト配列が返されます。現在、receiveBytes.Lengthを使用して、メッセージのバイト数を取得しています。

ただし、複数のメッセージが着信する高負荷では、これでは不十分であることが示唆されており、メッセージの最初の2バイトとしてパケット長を送信する必要があります。

完全なパケットまたは受信されていないパケットのいずれかに依存できるので、Lengthプロパティに依存できますか?

編集

すべてのコメントをありがとう。

UDPの使用はTCPに追加されます。TCPは、シーケンスと保証を実装する必要がある場合に使用されます。UDPは、任意の順序で保持するのは適切ですが、重要ではないデータに使用されます。はい、OTT暗号化を追加することを意味することを私は知っています。私の質問は、到着する完全なパケットのみに依存できるかどうかということでした。

4

1 に答える 1

1

各 UDP パケットは個別に配信され、他のパケットが到着する保証はありません。

(1 つを受け取ったときに) 別の 1 つを待つことをどのように知ることができますか? また、それが表示されない場合はどうすればよいでしょうか? 長い言い方をすれば、送信されたメッセージを受け取るか、まったく受け取らないかです。

于 2012-11-20T18:44:19.233 に答える