1

TCPクライアントを使用しています

これが私のコードです

do
{

   responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);

   bytes = stream.Read(data, 0, data.Length);

} while (bytes != 0);

ここで時々エラーが発生しました

bytes = stream.Read(data, 0, data.Length);

既存の接続はサーバーによって強制的に閉じられます。

それを処理する方法。

ストリームが読み取れないかどうかを確認する方法。

サーバー側では、ストリームに書き込んで閉じています。サーバー上で何かをする必要がありますか?

4

1 に答える 1

3

このコードは、ストリームが正常に閉じる通常の/正常なシナリオで正常に機能します。あなたが説明すること(「既存の接続はサーバーによって強制的に閉じられる」)は通常の/健全なシナリオではないので、例外をスローすることによってこの問題について説明することは完全に合理的です。ファイルから読み取っている場合に予想されるのと同じように、ファイルシステムが使用できなくなります(誰かがディスク/ペンドライブなどをヤンクします)。

つまりcatch、例外を適切に処理します。

ストリームを適切に閉じる以外に、サーバーで実行できる特別なことは何もありません。

于 2013-02-07T07:36:35.123 に答える