设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 6195|回复: 0
打印 上一主题 下一主题

2014-10-29 开放网络连接检测周期、超时时间设置接口

[复制链接]

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
跳转到指定楼层
楼主
发表于 2014-10-29 22:29:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AnyChat客户端与服务器之间的网络连接是通过心跳包来维持,默认情况下,每5000ms(5秒)发送一次心跳包,当连续20000ms(20秒)没有收到心跳包则认为网络连接中断,触发客户端的OnLinkClose事件。

上述参数设置符合大多数应用场景,但是在部分应用场景下需要对这两项参数进行定制,比如:
1、高延迟卫星通信环境:由于网络上的固有通信延迟都比较大(通常为1、2秒,最高可达10多秒),如果采用默认的心跳机制参数,则很容易造成客户端连接中断,产生误报;
2、需要长时间待机的硬件设备:有些设备采用AnyChat来实现可视对讲、智能家居等应用,在待机状态下心跳包的发送间隔将影响设备的待机时间;

基于上述需求,自AnyChat r4321版本开始,开放网络连接检测周期、超时时间设置接口,主要是在核心服务器配置文件(AnyChatCoreServer.ini)中进行配置:
  1. [Function Settings]
  2. CloseFrontLink=1
  3. ……
  4. NetCheckTime=5000
  5. NetTimeoutTime=20000
复制代码
其中:
NetCheckTime:网络连接检测周期,单位:毫秒,默认为5000,表示每5秒发送一次心跳包来检测网络状态,保持网络连接。
NetTimeoutTime:网络连接超时时间,单位:毫秒,默认为20000,表示20秒没有收到心跳包即说明网络连接被中断,将触发客户端的OnLinkClose事件。

在卫星网络环境中,除了需要配置上述网络参数外,还需要结合“NetLargeDelay”特性(参考:AnyChat针对卫星通道进行优化)一起才能达到最佳的用户体验,主要是由于上述网络参数只影响网络连接是否断开的判断,而“NetLargeDelay”特性还影响文件传输、语音视频数据的接收等功能。

注意:如果需要使用该特性,客户端、服务器均需要升级到AnyChat r4321及以上版本

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-22 17:35 , Processed in 0.140804 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表