java项目close wait_java – 排除连接卡在CLOSE_WAIT状态

我一直有同样的问题,我一直在研究套接字来摆脱这个问题。

让我说几句话,但在我必须说我不是Java程序员之前。

我不会解释什么是close_wait,因为Brian White已经说过了应该说的一切。

为了避免close_wait,您需要确保您的服务器在发回响应后不会关闭连接,因为首先断开连接的人将停留在close_wait和time_wait中。所以,如果你的服务器被卡在close_wait中,它会告诉我它在发送响应后断开连接。

你应该通过做一些事情来避免这种情况。

1 – 如果您的客户端应用程序没有使用http 1.1协议,则必须将其设置为使用它,因为“keep-alive http头文件”选项。

2 – 如果客户端正在运行http 1.1并且不起作用,或者如果您必须使用http 1.0,则应设置连接请求头属性:

connection: keep-alive

这告诉服务器完成请求后客户端和服务器都不应该断开连接。通过这样做,您的服务器在收到的每个请求后都不会断开连接。

3 – 在客户端,重新使用您的套接字。例如,如果您在循环中创建了大量套接字客户端,则应该创建套接字一次,并在每次需要发送请求时使用它。在我的应用程序中使用的方法是具有一个套接字池,并获得一个可用的套接字(已经连接到服务器,并且具有保持活动属性)。然后我使用它,当我完成后,我把它放回池中是可重用的。

4 – 如果您真的需要在发送请求后断开连接,请确保您的客户端执行此操作并保持连接:keep-alive。

是的,当您在服务器端有很多close_waits或time_waits时,您可能会遇到问题。

看看这个[link] [1],这解释了活着是什么。

我希望这是有帮助的。有了这些东西,我设法解决了我的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值