C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 自作TCPサーバーが受信を受け付けない状態になる


(過去ログ 110 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■65107 / inTopicNo.1)  自作TCPサーバーが受信を受け付けない状態になる
  
□投稿者/ つつじ (1回)-(2013/02/05(Tue) 15:13:47)

分類:[C#] 

C# VS2010 Pro. でTCPサーバーを作成しています。
MSDNの非同期サーバーを参考にして作っています。
http://msdn.microsoft.com/ja-jp/magazine/ee704530.aspx

一通り問題なく動くのですが、デバッグでブレイクして暫く停止した後再開すると、
クライアントからの送信を全く受け付けません。
エラーが出る訳ではありません。

サーバーをクローズして再オープンすると受信を受け付けます。

デバッグで止めたときのみの発生なら運用で問題ないのですが、TCPサーバー以外のプログラムが
PCが暫く固まる様な非常に重い処理を行った時にも同じ現象がでました。

サーバーが生きているのか下記の方法で調べてみましたが有効になっています。
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpListeners();

あとはSokectクラスのPollを使ってみようかと考えていますが、負荷がかかるとの記事を読んで
思案中です。

質問:受信を受け付けられない状態を検出したいです。

以上、説明でつたない箇所があるかと思いますが、よろしくお願い致します。
引用返信 編集キー/
■65114 / inTopicNo.2)  Re[1]: 自作TCPサーバーが受信を受け付けない状態になる
□投稿者/ 逆運の覇者 (1回)-(2013/02/06(Wed) 16:19:12)
TCPはサーバーとクライアントの持続的な接続によって成り立っています。
なのに、『ブレークポイントによって、サーバーが一方的に接続を無効にする』
ことに問題があるのではないでしょうか。
だとすれば、TCPの仕様なので例外エラーにはなりません。
正常な切断手続きでは「切断します」「OK」「切断」のメッセージが行われます。

例外エラーにならないのであれば、互いのTCPコネクションがどういう状態にあるのかを
考えるとよいと思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -