java.net.SocketException: Connection timed out
at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.DataOutputStream.write(DataOutputStream.java:90)
        at java.io.FilterOutputStream.write(FilterOutputStream.java:80)
        at suncfs.etransserver.SocketTransService.bSendData(SocketTransService.java:321)
        at suncfs.etransserver.SocketTransService.bSendLargeData(SocketTransService.java:286)
        at suncfs.etransserver.SocketTransService.SendMessage(SocketTransService.java:500)
        at suncfs.etransserver.SocketTransService.SendString(SocketTransService.java:477)
        at suncfs.etransserver.SocketProcessService.SendReturnValue(SocketProcessService.java:776)
        at suncfs.etransserver.SocketProcessService.UpLoadFolderProcess(SocketProcessService.java:1252)
        at suncfs.etransserver.SocketProcessService.HandleConnection(SocketProcessService.java:585)
        at suncfs.etransserver.SocketProcessService.run(SocketProcessService.java:354)日志经常报以上错误,求高手解答。

解决方案 »

  1.   

    socket连接超时呗。。这原因多了,有可能网络状态不好,或者断开了连接都会有这种异常的
      

  2.   

    你首先socket应该设置超时时间,然后就这个问题我觉得没有必要深究,很正常,比如我正在和你网络聊天,我网突然断了,那服务器端必然会有这个异常出现。
      

  3.   

    再补充下,很多软件也都是如此,比如正在更新呢,或者client端出现了什么问题,或者server端出现了某些问题,都有可能造成连接中断,那么会提示你连接超时。所以友好点做法是捕获了这个异常的时候最好给cilent返回个状态码,告之连接超时了。