记录java的一个socket报错信息

Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect

字面意思,主要是socket连接数过多导致没有可用的系统缓存所致,其实主要是“假”过多,大部分处于TIME_WAIT状态,和TCP关闭的四次握手以及MSL(Max Segment Lifetime,最大报文生存时间)有关
处理方法主要从两个方向入手
1.代码层面
  ①每次使用完相关socket资源都要及时关闭
  ②使用连接池
2.服务器层面
  ①修改socket连接数
  ②减少TIME_OUT时间
  ③允许重用处于TIME_WAIT的socket
 
参考链接:
https://www.cnblogs.com/hjwublog/p/5114380.html
 
posted @ 2020-08-06 14:18  MarshWinter  阅读(252)  评论(0编辑  收藏  举报