异常如下,哪位高手能帮忙解决谢谢! java.net.Socket Exception:Software  caused connection   abort:   socket  write  error

解决方案 »

  1.   

    这种情况我没有遇到过,不过,我想应该是Socket超时,造成的。
    每个Socket在建立连接的时候,都会设定一个无数据传输的超时时间,当时间超过这个设定的时间,Socket会自动关闭连接,当连接关闭后,再调用write方法,就会有异常抛出了。
    所以,在建立长连接的时候,程序设计里面,应该在Socket超时的时间范围内,传输一些“没有意义的”数据来维持Socket的连接状态。
    那,楼主可以考虑,是否可以先建立一个未连接的Socket,然后调用conncet方法来连接目标主机,这时,就可以设置Socket本身的超时时间,最后,在程序里面判断,当无数据传输达到一定时间(这个时间要小于Socket超时时间,一般,是和目标主机程序的提供方共同商议的,也就是说,银行应该已经给出了这个时间的)的时候,发送用于维持长连接所需要的数据包。
    当然,我说的不一定正确,因为,没有代码,我也不能妄下结论,以上意见仅供楼主参考。