紧急求助:怎样实现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 被解释为无穷大超时值。 三子棋!!有点问题啊 日期取整问题,比如获得今天的日期2010-09-09 00:00:00 telnet在命令行窗口中显示不出来? 过滤器的问题! 难道没人能帮我吗?高分相送! 怎么输出多个异常 Together 6.1 for eclipse注册码? 一个小问题 看看java的魅力 how to insert multipart/alternative in multipart/mixed (javamail) 关于 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 被解释为无穷大超时值。