Connection reset by peer的原因

原因分析:  因为tcp连接长时间没有发送数据,网关把从server-->;client的tcp连接关闭了.因为连接的建立过程是client ->; server ,因此server能监测到连接关闭,但client并不能监测出到server的连接已关闭.

当前的状态是server连接关闭,但client认为连接还存在,client要监测出来有两个条件一个是对该socket有读或些,能监测出来连接已关闭,还有跟据\实现比如1,2个小时没报文,监测出来连接已关闭
这个情况相当于把client的网线拔了,用netstat可以测一下的
解决办法:
建立心跳机制,让网关监测到一直有数据报文从网关通过.
一般的心跳机制是在client发送保活包的.如果没有保活保或报文从网关经过,在15-20分钟会把连接掐断的.

建立心跳机制从逻辑上检测C/S的连通状态,这招对长连接是必不可少的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值