我被捕获到属于亚种的SocketExceptions,例如折断的管道或连接重置。问题是一旦抓到湿滑的 SCSS ,该怎么办。
我可以愉快地忽略哪些,哪些需要进一步关注?我正在寻找不同的SocketException及其原因的列表。
最佳答案
就Java Web开发而言,管道中断或Connection重置基本上意味着另一端已关闭连接。这可能是由于客户端在请求仍在运行时按Esc或在请求仍在运行时通过链接/书签/地址栏导航而导致的。您会在长时间运行的请求(例如大文件下载和不必要的大/慢业务任务)中经常看到此特定错误(这对不耐烦的用户不利,最大大约3秒钟)。在极少数情况下,它也可能是由硬件/网络问题引起的,例如服务器或客户端的网络中断。
在响应的输出流上调用flush()
或close()
时,可以引发此异常。作为服务器端,您无法对此采取任何措施。由于HTTP中的安全限制,您无法(重新)连接客户端,因此无法从中恢复。在大多数情况下,您甚至都不要尝试,因为这通常是客户自己的决定。只需忽略它或将其记录为纯统计信息即可。
关于java - 有哪些常见的SocketException,是什么引起的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1873490/