2012-03-19 16 views
1

私はC#クライアント/ Javaサーバーのチャットルームを作っていますが、1つのことを除いてすべて正常に動作します。 アプリケーションを使用していない(または使用していても)それは私にsocket.EndReceive()関数でのC#クライアントでのSocketExceptionを与える:C#/ Javaソケット接続が失われましたか?

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 

ドゥJavaやC#のソケット接続は、アイドリングのいくつかの時間後に閉じ?それともTCPプロトコルですか? これを修正するにはどのような方法が最適でしょうか?

ありがとうございます!

答えて

1

ドゥJavaやC#のソケット接続は、アイドリングのいくつかの時間後に閉じ?

しかし、ファイアウォールやNAT特にゲートウェイは、多くの場合、黙って、行います。

これを修正するにはどうすればよいでしょうか?

ハートビート手順を実装します。すなわち、クライアントおよび/またはサーバは、接続を維持し、失敗したピアをより迅速に検出するために使用されたばかりの特別なメッセージを周期的に(例えば10秒または30秒ごとに)送信する。

+0

1分ごとに送信されるキープアライブパケットを作成しました。それとももっと頻繁にする必要がありますか?それが修正されたら、私は答えを受け入れたものとしてマークします。ありがとう! – Basaa

関連する問題