SOCKET编程,如何设置它连接超时.

xujianxiang 2007-12-01 12:44:06
我的时内网.每次建立的都是短连接.如果六秒内连接不上,我就认为服务器端不存在,希望它能结束连接.但是正常的连接,服务器不存在至少也要30多秒,请怎么设置连接超时.
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxin_19 2007-12-10
  • 打赏
  • 举报
回复
setSoTimeout
public void setSoTimeout(int timeout)
throws SocketException启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。将此选项设为非零的超时值时,在与此 Socket 关联的 InputStream 上调用 read() 将只阻塞此时间长度。如果超过超时值,将引发 java.net.SocketTimeoutException,虽然 Socket 仍旧有效。选项必须在进入阻塞操作前被启用才能生效。超时值必须是 > 0 的数。超时值为 0 被解释为无穷大超时值。

参数:
timeout - 指定的以毫秒为单位的超时值。
抛出:
SocketException - 如果底层协议出现错误,例如 TCP 错误。
从以下版本开始:
JDK 1.1
另请参见:
getSoTimeout()
冷卡卡西 2007-12-01
  • 打赏
  • 举报
回复
顶一楼!
版主自己查一下jdk中的Socket方法,就更清楚了。
marryhong 2007-12-01
  • 打赏
  • 举报
回复
connect(SocketAddress endpoint, int timeout) 
将此套接字连接到服务器,并指定一个超时值。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧