Broken pipe (Write failed)报错socket失效的问题

java.net.SocketException: Broken pipe (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:143)
at com.example.util.ClientManager.sendMsgAll(ClientManager.java:122)
at com.example.util.ClientManager$ServerThread$1.run(ClientManager.java:61)
at java.lang.Thread.run(Thread.java:745)
java.net.SocketException: Broken pipe (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:143)
at com.example.util.ClientManager.sendMsgAll(ClientManager.java:122)
at com.example.util.ClientManager$ServerThread$1.run(ClientManager.java:61)
at java.lang.Thread.run(Thread.java:745)
这个是报错信息我用的spring boot 的 然后+socket 就发现有的时候socket一直没反应,日志里一长串这个报错信息

img

这个就是具体的代码的图片

如果版本是Java11以上的话,参考

Java11からSSL通信のエラーが発生しやすくなった事への考察と対処 - Qiita https://qiita.com/h-r-k-matsumoto/items/3cfd3d15b53fcf6465e7

How can I retry using DefaultHttpRequestRetryHandler(HTTPClient) when SocketException occurs during SSL communication on java 11? - Stack Overflow How should I implement it to be able to retry SSL communication using httpclient on java11? Is it better to override DefaultHttpRequestRetryHandler as shown below? Is there a more better way? ... https://stackoverflow.com/questions/56306216/how-can-i-retry-using-defaulthttprequestretryhandlerhttpclient-when-socketexce