我想知道是否有人知道可能是一篇好的文章或博客文章,关于程序阻止套接字发送/接收时可能会抛出什么样的异常,更重要的是,它们何时会或不会被抛出MSDN在这个例子中只是如此有用,对我来说,找到一篇文章对我来说更有教育意义,试着调用所有这些错误来自己了解它们。我的意思的一些例子:
ThreadInterruptedException - 仅在阻塞时才会抛出此异常。因此,如果您正在从套接字读取,我相当肯定它会在它尝试阻止并抛出此异常之前读取整个缓冲区。这是一个手动调用的异常,使用thread.interrupt;我只是用它来处理行为不端的套接字,或者关闭一个阻塞的只读线程,以避免需要进行轮询。
SocketException - 通常抛出的内容。如果套接字关闭而另一个线程正在读/写中,则可以抛出此异常。如果在线程被阻塞时网络连接丢失,等待新接收,会抛出此异常吗?
我很好奇可能出错的细节,因为我有一个伪异步套接字库,它具有相当数量的读写,有相当数量的代码来处理重新连接等等。我想知道任何阻塞线程可能出错的一切。