0

プログラムがソケットの送受信をブロックしているときにどのような例外がスローされる可能性があるか、さらに重要なことに、例外がスローされるかどうかの詳細について、おそらく良い記事またはブログ投稿を誰かが知っているかどうか疑問に思っています。この場合、MSDN は非常に役に立ちます。記事を見つけた方が、これらのエラーをすべて呼び出して自分で調べようとするよりもはるかに教育的です。私が意味することのいくつかの例:

ThreadInterruptedException - ブロックしている場合にのみ、この例外をスローします。したがって、ソケットから読み取っている場合、ブロックしようとしてこの例外をスローする前に、バッファー全体を読み取ることはかなり確実です。これは、thread.interrupt を使用して手動で呼び出される例外です。これは、ソケットの誤動作に対処するため、またはブロックしている読み取り専用スレッドを閉じて、ポーリングする必要がないようにするためだけに使用しました。

SocketException - 一般的に何がスローされるか。この例外は、別のスレッドが読み取り/書き込みの最中にソケットが閉じられた場合にスローされる可能性があります。新しい受信を待っているスレッドがブロックされている間にネットワーク接続が失われた場合、この例外はスローされますか?

かなりの数の読み取りと書き込みがあり、再接続などを処理するためのかなりの量のコードがある疑似非同期ソケットライブラリがあるため、何がうまくいかないかの詳細に興味があります。ブロックされたスレッドで問題が発生する可能性があるすべてのことを知りたいです。

4

0 に答える 0