issues
search
JXtreehouse
/
nodejs-lessions
一个node学习记录仓库
3
stars
2
forks
source link
UDP
#11
Open
AlexZ33
opened
5 years ago
AlexZ33
commented
5 years ago
udp本地通信不会丢包
AlexZ33
commented
5 years ago
如何打造稳定的长连接
如何提升连接成功率
最近连接的ip
记录用户曾经连接成功的ip:port
最优ip列表
server每次连接都会根据用户的isp返回最优ip列表
内置测速, 可以不同isp的连接速度,上报server
保底ip
多端口测试
4个端口: 443、80、8080、14000 -> 网络环境复杂,有些网络端口没开
建立连接
按照最近,最优,保底
心跳保护机制
正向心跳 (sdk发心跳)
反向心跳(keepalive机制)-> 不可控,耗电
动态心跳
server动态调整 -> sdk 自动探测调整
重连策略
收到网络变化的广播
如果网络变化,重新解析域名,并且重连
如果没有变化(信号强度变化), 发送ping包
每个心跳周期最大次数限制
达到最大限制
假连接的判断
发送fastping包,如果超时,断开连接,尝试重连。
如果再次超时,开始跑马
解决DHCP过期
容错机制
接入点异常
客户端连接跑马策略(保底ip)
服务器端域名调度和自我保护
专线异常
服务器返回110
IDC异常
域名调度
请求失败触发自动跑马
策略调整
心跳带策略信息(3~5分钟)