|
分類:[C#]
分類:[C#]
お世話になっております。
現在、C#のSocket通信を行うソフトを開発しております。
こちら側がクライアント側で、サーバ側からSizeが0のデータ が送られてきた場合の処理について質問があります。
現在下記のようにしているのですが、Socket.Receiveで サイズが0のデータを受信しても無視するようにしたいので すが、どのようにすればよいでしょうか? 現在下記のように記述したのですが、一度サイズが0のデータ を受信するとSocket.Receiveでとまらずにループを回り続けて しまいます。
ご教授・アドバイス等よろしくお願いします。
--------------------------- bool loop; // falseの場合は処理を抜ける int RecvDataSize; //
while (loop) { if (ヘッダーかどうか判定) { RecvDataSize = Sock.Receive(buffer, HEADER_SIZE, SocketFlags.Peek);
if (RecvDataSize == 0) { // この場合はSock.Reciveで受信待機の状態にしたい // のですが、Sock.Reciveでとまりません。 } else { //RecvDataSize!=0の処理 } } else { // ヘッダー以外の場合の処理 } } }
|