当客户端关闭连接而不读取数据时,服务器端的 Java Socket 输出流写入将永远被阻止如何处理?

问题描述

我们有一项服务,该服务仅接受 Java TCP/IP ServerSocket 上的一个请求。然后在套接字上以指定方式读取服务请求,对输入消息调用 IBM WTX 映射并将响应写回客户端。

但是在尝试不同的场景时,我们尝试了一种场景,客户端连接到服务器,成功地将数据发送到服务器,但在从服务器读取响应之前断开连接。同时,服务器端在接受连接时创建的套接字读取数据,执行处理并尝试使用write方法写入套接字的OutputStream但写入调用从未返回。 OutputStream 没有像 setSoTimeout 这样的东西。 一旦我们收到 SocketException 和管道损坏错误,但进一步尝试相同的场景,我们就再也没有收到异常,写调用和进程都被永久挂起。 我们该如何处理?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...