用Java处理网络超时

用Java处理网络超时,java,timeout,Java,Timeout,我有一个java程序通过xot协议连接到服务器 我使用的lib可以处理连接超时,但在发送和接收数据时,没有像setSoTimeout()这样的方法来处理超时 所以,任何人都可以给我一些解决这个问题的方法 谢谢 Quan一个选项是生成一个线程来执行写入操作,然后执行该操作。同样,从连接读取。显然,当超时过期时(与线程消亡相反),终止线程(并将连接视为处于不确定状态)。'Socket.setSortimeout()'也应适用于recv。看看它 public void setSoTimeout(int

我有一个java程序通过xot协议连接到服务器

我使用的lib可以处理连接超时,但在发送和接收数据时,没有像setSoTimeout()这样的方法来处理超时

所以,任何人都可以给我一些解决这个问题的方法

谢谢


Quan

一个选项是生成一个线程来执行写入操作,然后执行该操作。同样,从连接读取。显然,当超时过期时(与线程消亡相反),终止线程(并将连接视为处于不确定状态)。

'Socket.setSortimeout()'也应适用于recv。看看它

public void setSoTimeout(int timeout)抛出SocketException

Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
将此选项设置为非零 超时,对 与此关联的InputStream 套接字将仅阻止此金额 时间的问题。如果超时过期,则 java.net.SocketTimeoutException为 已升起,但插座仍处于打开状态 有效的必须启用该选项 进入拦网前 行动要有效果。超时 必须大于0。超时值为零是错误的 解释为无限超时


我的协议是xot(x25overtcp/ip)&我使用其他lib来实现这个协议,没有使用javasocket(但类似于:D),也许我创建了一个新问题:D