紧急求助:怎样实现socket通信接收数据的超时处理 问题描述: 利用socket通信,实现接收数据的线程,需要设置超时的时间,在超时之后并且没有接收到数据,线程结束,不是一直阻塞着! 请各位大虾帮忙一下,多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 socket.setSoTimeout(); 设置socket 超时时间。用另一个线程时间戳方式是不行的。因为 socket.getInputString().read() 本身是block的。(如果是多客户端连接可以考虑nio) setSoTimeoutpublic void setSoTimeout(int timeout) throws SocketException启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。将此选项设为非零的超时值时,在与此 Socket 关联的 InputStream 上调用 read() 将只阻塞此时间长度。如果超过超时值,将引发 java.net.SocketTimeoutException,虽然 Socket 仍旧有效。选项必须在进入阻塞操作前被启用才能生效。超时值必须是 > 0 的数。超时值为 0 被解释为无穷大超时值。 一个关于复选框的很纠结问题 求一个JAVA高手帮助解决一下EXCEL表格存入数据库问题? 求助:下来菜单选择显示Iframe+图像 一个关于java jdk的问题 请问 paint()和paintComponent()有什么区别呢? 请问是否可以下载到运行JAVA的软件 下例中抽象类里的抽象方法怎么能直接调用? 如何实现分页? swing 请教一个Swing的技术问题. 关于 Thread类中的join方法的问题???????? v1.i = v2.i = 100;可不可以这样进行赋值?
public void setSoTimeout(int timeout)
throws SocketException启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。将此选项设为非零的超时值时,在与此 Socket 关联的 InputStream 上调用 read() 将只阻塞此时间长度。如果超过超时值,将引发 java.net.SocketTimeoutException,虽然 Socket 仍旧有效。选项必须在进入阻塞操作前被启用才能生效。超时值必须是 > 0 的数。超时值为 0 被解释为无穷大超时值。