私は、非同期ソケットを使って可変長メッセージを転送する方法について、an article on Vadym Stetsiak's blogを読んでいました。私が求めたすべてのバイトを読み取らずに非同期受信を返すことはできますか?
彼は言う:サーバーに到着したとき、複数のメッセージ
は何を期待しますか? 複数のメッセージを扱う際には、受信操作によってネットから読み取られる任意のバイト数が返されることを覚えておかなければなりません。通常、このサイズはReceiveメソッドまたはBeginReceiveメソッドでは0〜指定されたバッファ長です。
したがって、私がBeginReceiveに100バイトを読み込ませるように指示しても、それはそれよりも読みにくくなり、???を返します。 私はネットワーク対応ソフトウェア(TCP/IP)を開発しています。私は常に要求したのと同じ正確なバイト数を受け取ります。
私は論理を理解していません。なぜなら、私が求めたすべてのバイトを受け取らなかった場合、Receiveは非同期的に完了するのです。
多分IP対TCPと関係がありますか?