read()方法一旦发生阻塞,如何得知并安全返回?比如怎么样关掉这个输入流或者socket?

解决方案 »

  1.   

    如果使用的是tcp协议,read或write时会返回错误;如果使用的是udp协议,根本就没有建立连接,当然无法判断是否堵塞或断开。
    你还可以为read()设置一个时间长度。当超过这个时间点没有响应时,你也就可以认为read()发生堵塞!
      

  2.   

    谢谢javazhuobin!好像socket可以设置超时,read()方法也可以吗?我找了找,没找到啊,能否具体说下?