当服务端开启心跳,客户端开启心跳,则当客户端意外断开连接,服务端释放连接,客户端释放连接

当服务端关闭心跳,客户端开启心跳,则当客户端意外断开连接,服务端不会知道,资源不会释放。而当客户端再一次向服务端请求连接的时候,服务端才会释放之前的socket

linux :

socket 配置

int optval;
      socklen_t optlen = sizeof(optval);
      optval = 1;  
      setsockopt(clt_sock, SOL_SOCKET, SO_KEEPALIVE, &optval, optlen);  
      optval = 5;  
      setsockopt(clt_sock, SOL_TCP, TCP_KEEPCNT, &optval, optlen);  
      optval = 1;  
      setsockopt(clt_sock, SOL_TCP, TCP_KEEPIDLE, &optval, optlen);  
      optval = 1;  
      setsockopt(clt_sock, SOL_TCP, TCP_KEEPINTVL, &optval, optlen);

echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time

echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl

echo 6 > /proc/sys/net/ipv4/tcp_keepalive_probes

windows:

socket 配置

int Opt=1;
TCP_KEEPALIVE live,liveout;
live.keepaliveinterval=500;  
live.keepalivetime=3000;  
live.onoff=TRUE;    
int iRet = setsockopt(serSocket,SOL_SOCKET,SO_KEEPALIVE,(char *)Opt,sizeof(int));    
if(iRet == 0){  
DWORD dw;  
if(WSAIoctl(serSocket,SIO_KEEPALIVE_VALS,  
&live,sizeof(live),&liveout,sizeof(liveout),  
&dw,NULL,NULL)== SOCKET_ERROR){  
//Delete Client    
return 0;  
}    
}

关于keeplive相关推荐

  1. 使用keep-live组件无法销毁cesium的view

    前言:同事使用了keep-live组件来保证页面不会重复渲染,但是频繁使用路由跳转会使cesium失败从而报错. 报错原因:两个页面都使用了cesium,但是keep-live没办法正常使用befor ...

  2. vue index.html 缓存,解决vue单页面 回退页面 keeplive 缓存问题

    场景:项目中遇到 vue 点击回退 从A页跳到B页,缓存A页,当B页状态修改再次返回A时,A页查询条件缓存不刷新,列表刷新 A页: B页: 解决方法: 利用keep-alive 缓存需要缓存的页面 1 ...

  3. vue keep-live使用

    vue keep-live使用 今天,帮别人解决了一个问题,就是做vue电商项目时,请求分类数据,第二次进入分类页数据缓存了,上一次的数据也在页面中出现. 解决思路 首先,判断数据没有清空. 因为,数 ...

  4. java keeplive,java http长链接(keep-alive)导致的问题

    两种由http长链接(keep-alive)导致的问题,当然这两种问题都有多种原因导致,这里只分析针对keep-alive相关而产生的异常. 1 SocketException: Connection ...

  5. websocket vs keep-live

    地址:http://stackoverflow.com/questions/17608551/how-is-websocket-different-than-http-with-header-conn ...

  6. keeplive linux平台下,Linux下搭建keepalive+nginx

    一. 安装nginx(略) 二. 安装keepalive 安装依赖包 yum install –y popt* gcc* openssl* nmap tar fvxz keepalived-1.2.1 ...

  7. ios http长连接_Nginx篇05——http长连接和keeplive

    nginx中http模块使用http长连接的相关配置(主要是keepalive指令)和http长连接的原理解释. 1.http长连接 1.1 预备知识 连接管理是一个 HTTP 的关键话题:打开和保持 ...

  8. LVS+Keeplive 负载均衡

    注意 lvs+keepalived 的vip是虚拟出来的和 nat模式的负载均衡是不同的,vip要和其他机器在同一网段,其中lvs负载均衡实用的是DR模式,keepalived用来进行监听和切换. l ...

  9. http keep-live

    http://www.cnblogs.com/skynet/archive/2010/12/11/1903347.html

  10. list列表跳转保存位置,返回列表刷新keeplive

    vue页面路由跳转离开时保存滚动条位置,进入该页面是获取位置 beforeRouteLeave (to, from, next) {const position = document.document ...

最新文章

  1. Codeforces40E[Number Table]
  2. 数据库PHP绘制柱形图,php使用Jpgraph绘制柱形图的方法
  3. 合并K个排序链表—leetcode23
  4. SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
  5. matlab软件moran值,用matlab求moran并作图的具体步骤
  6. 第三节 DOM-Element对象
  7. 数字基础设施开源操作系统欧拉全新发布
  8. 最新csdnJS逆向分析
  9. web安全day33:人人都要懂的LNMP--nginx的配置和文件理解
  10. 分而治之——最大子列和
  11. 连接服务器打印机文件名无效,局域网打印机连接时显示打印机名无效是何原因? 求教数码高手!...
  12. 计算机的组策略在什么地方,WINDOWS的常用组策略
  13. 计算机桌面ie图标无法删除,桌面IE浏览器图标无法删除怎么办
  14. 系统自带输入法➋➌➍➎➏➐➑➒问题
  15. TP-link WR703N, OpenWrt, Mentohust
  16. 18_2Servlet学习笔记
  17. 服装店管理软件排名,让你选对是关键
  18. R语言逻辑操作符:、|、!、||
  19. matlab-利用SVD(奇异值分解)来进行图片压缩
  20. 编码器A相B相Z相的定义

热门文章

  1. 2015年高教社杯全国大学生数学建模A题太阳影子定位(Matlab代码)
  2. 服务器返回状态码说明,关于服务器返回的十四种常见HTTP状态码详解
  3. 最新dex2jar下载,网上很多dex2jar是2015年的,有bug无法翻译部分代码,最新更新的dex2jar下载
  4. 全国大学生数学建模竞赛(CUMCM)历年试题(查看超级方便)
  5. jupyter怎么安装jieba_记录 anaconda安装jieba
  6. 算法精解(一):C语言描述(链表)
  7. C语言嵌入式系统编程修炼之软件架构篇
  8. 天翼网关-无线光纤猫的设置和有WIFI信号无网络问题排查与解决
  9. android 取色器
  10. 象棋游戏java代码_象棋游戏 - java代码库 - 云代码