奢望留念 2018-09-13 12:15 采纳率: 50%
浏览 1217

服务器挂载大量close_wait无法断开

使用netty实现websocket,在网页关闭的时候断开连接,采用的是H5版本的,微信浏览器,在ios系统下离开页面的时候会出现原链接状态变为close_wait状态而不会断开,在安卓版本下不会出现这种情况
大概的情况是这样的
图片说明
代码是这样的,hander这边基本没有其他业务的东西,业务方面都放线程池执行了,
抓包情况分析
图片说明
15570->80端口的,80端口是服务器的端口,这里的是客户端向服务端发送fin,服务端立刻返回ack,但是属于服务端的fin却一直不会发送过来,,这个抓包是我在服务器上用tcpdump抓的网卡的数据流量情况,在本地直接用wireshark抓包也是差不多的情况。
而根据服务器的挂载情况显示挂载nginx上面,我直接关闭服务也不会断开连接,只有重新加载nginx配置或者nginx进行重启才会把close_wait状态修改为last_ack状态,。
还有一个情况就是,这个服务器暂时只有我一个人在使用没有对外开放,所以应该也不存在什么阻塞的情况

  • 写回答

2条回答

  • oyljerry 2018-09-14 01:16
    关注

    你的服务器在收到客户端断开的时候,有没有主动的调用close代码,把这个连接关闭

    评论

报告相同问题?

悬赏问题

  • ¥15 为什么eprime输出的数据会有缺失?
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题