私はこのコードをストリーミングサーバーに接続します。サーバーは時々切断されます。それを検出して、必要なときに接続を再開したいと考えています。C#NetworkStreamはすべての種類の切断と例外を検出します
このコードではどのように例外を検出できますか?
これで接続が切断され、キャッチできません。
this.ns = new NetworkStream(server);
while (true)
{
// Incoming message may be larger than the buffer size.
do
{
byte[] myReadBuffer = new byte[10240 * 5];
await this.ns.ReadAsync(myReadBuffer, 0, myReadBuffer.Length).ContinueWith((numberOfBytesRead) =>
{
string message = Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead.Result);
p.Invoke(message);
});
}
while (this.ns.DataAvailable);
}
このコードが意図したとおりに機能し、改善の可能性がある場合は、[コードレビュー](https://codereview.stackexchange.com)にこの質問を投稿する必要があります。 –
@ s.m。実際には例外を取得して、それらをキャッチすることはできません... – SexyMF
正しい例外のtry/catchでコードをラップしようとしましたか? –