2011-12-08 9 views
0

私は非同期ソケットを使用しています。winsock vC++のrecv関数の奇妙な振る舞い

サーバはクライアントにMSGを継続的に送信します。クライアントはすべてのMSGを受信しますが、時には2つまたは3つのメッセージを受信します。

答えて

1

これは絶対に正常です。さらに、あなたはあなたの「メッセージ」の整数倍のたびに読むことが保証されていません。つまり、1.5メッセージ(1半分)を読んだり、次回に2.7(残りの半分、2つ以上、次のビット)などを読むことができます。

は、ストリームをメッセージに分割するロジックを実装する必要があります。