java setSoTimeout  只有能够设置read 的超时时间可是write()的超时时间呢? API没有说,我刚入手java  不会设计的如此有缺陷吗?
以前我直接用Socket API 都可以控制发送超时时间的,唯独java 让我用的很郁闷!
可能是我还不太清楚吧,麻烦大家指点下!

解决方案 »

  1.   

    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4031100
      

  2.   

    这个里面也没给出解决方案,没想到java有这么大的bug,我真郁闷!
      

  3.   

    好像高的和低的sdk版本都只有一个timeout,没有像net中那样socket有read和write超时,
    但楼主可以特别测试一下,是否socket已经隐含着60秒的write超时。
    如果是这样,60秒的写超时,也是可以的。
      

  4.   

    答:怎么可能呢?这个里面讲得清清楚楚,你的这个写的超时需求,在JDK高版本中用性能更好的控制能力更强的NIO的SocketChannel及select()来处理(可任意进行超时控制--读/写)
      

  5.   

    可是 我是和银行之间的通信,我是要求阻塞式的通信,貌似SocketChannel 是非阻塞的!