晋江文学城
下一章 上一章  目录  设置

4、socket连接 ...

  •   最近频繁出现乱群的情况
      经排查原因为当用户的socket连接断开时没有刷新session,session就被别的用户拿到了

      之前是异步刷新session,现在改成同步了

      但是,用户其实还在使用群聊功能,socket连接为什么会自动断开?

      ①服务器的tcp连接的keeplive机制,当服务器检测到一个socket端长时间不活动的时候,就会发送一个探测包检测client端是否还在,而当client端收到不回应的时候,会关闭连接,回收资源。linux内核跟这个相关的参数有三个:

      tcp_keepalive_time(开启keepalive的闲置时长)
      tcp_keepalive_intvl(keepalive探测包的发送间隔)
      tcp_keepalive_probes (如果对方不予应答,探测包的发送次数)

      解决方案:
      1. 应用层增加socket保活参数配置,覆盖系统配置(完美)
      2. 直接修改系统配置文件/etc/sysctl.conf,应用层增加心跳机制,空闲状态时,每隔19s发送一个心跳包过去(实际采用)。

      -未完-
note 作者有话说
第4章 socket连接

  • 本文当前霸王票全站排行,还差 颗地雷就可以前进一名。[我要投霸王票]
  • [灌溉营养液]
    • 昵称:
    • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
    • 内容:
    •             注:1.评论时输入br/即可换行分段。
    •                 2.发布负分评论消耗的月石并不会给作者。
    •             查看评论规则>>