请教,微信、QQ之类的PUSH长连接是哪类??

kemengle 2016-01-03 11:14:37
咨询一个技术问题:
————————————————使用环境————————————————
家里用的电信FTTH光纤,光猫后接一个路由器拨号上网,手里设备小米2S两部、galaxy
S5、ipadmini2、华为P7、笔记本一台,以上为使用环境。
————————————————遇到的问题———————————————
最近家里的手机、平板接(安卓、IOS都有)连接WIFI收推送类消息时经常延迟,具体情
况是只要移动设备一段时间(5到10分钟)不用,那么微信、米聊、旺信之类的信息PUSH
类软件不能正常接收消息(延迟3到10分钟甚至更长),开始怀疑是wifi、路由器和光猫问
题,换了光猫、换了路由器均无法解决,后来做了一些测试,甚至电脑用网线连接光猫,
电脑运行安卓虚拟机,虚拟机里运行微信、米聊、QQ也会出现延迟现象,那么,基本确
定是电信运营商服务器的问题了……但具体也不知道原因。
——————————————查相关资料—————————————————
接下来就是网上查各种资料,最后锁定了一个可能的原因:
不管是安卓、还是IOS,设备推送消息基本有两种方式,:第一种是客户端使用Pull(拉)
的方式,就是隔一段时间就去服务器上获取一下信息,看是否有更新的信息出现。第二种
就是服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到
客户端上。现在手机的聊天软件多数都用的Push的方式,现在问题来了,微信服务器A要
向用户B推送(Push)消息,就需要一个B到A的连接,这个连接就是所谓的长连接,长期
保存不断的连接,这个连接是需要占用资源的,然而电信运营商为了腾出资源,当你的这
条连接长时间不用的时候,就直接中断了,这就造成了网络质量正常的情况下手机长时间
不用,点亮屏幕后,接收到好几天消息的原因。
———————————————求 助—————————————————  
现在这种问题,我打10000号报故障好几次了,每次他们技术人员来PING一下,都正常就
不给解决,后来干脆说固网只管电脑,不管移动设备……..万恶的垄断!!
恳求坛子里的大神给我出出主意,有没有相关的软件让我在电脑上测试长连接连通性!!!
现在咨询的问题列出:
1、 微信、QQ、米聊之类的软件在WIFI情况下长连接是采用哪种方式,HTTP和TCP???
2、 有没有电脑上测试的相关软件??
3、 恳求坛子里大神的技术支持,让我有足够的证据来推翻这个万恶的垄断企业(哈哈,
玩笑,让他们帮我解决我的问题)。
...全文
821 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kemengle 2016-01-10
  • 打赏
  • 举报
回复
引用 3 楼 a87b01c14 的回复:
长连接一般使用TCP Socket 通讯 客户端或者服务器端 向对方发送心跳包(间隔固定时间发送数据包),对方收到心跳包后并给出应答包 我猜应该是客户端向服务器发送心跳包,服务器超过一定时间没有收到客户端的心跳包,就判定客户端离线 就不推送消息了 手机之类客户端一般是在熄灯模式下为了省电,断开了WIFI连接,建议按楼上操作,保持WIFI永不关闭试试
———————————————————————————————————————————— 之后发现了自己的IP不是公网IP,最后打电话让他们改成公网IP,然后问题就解决了,不知道原因,现在无延迟了~!
kemengle 2016-01-10
  • 打赏
  • 举报
回复
引用 2 楼 haha_321 的回复:
这个问题你可以设置一下wifi 让其锁屏仍然链接看看,设备为了省电会在锁屏后断开链接。
———————————————————————— 谢谢 wifi休眠这个我还是知道的,不是这个原因~!
kemengle 2016-01-10
  • 打赏
  • 举报
回复
引用 3 楼 a87b01c14 的回复:
长连接一般使用TCP Socket 通讯 客户端或者服务器端 向对方发送心跳包(间隔固定时间发送数据包),对方收到心跳包后并给出应答包 我猜应该是客户端向服务器发送心跳包,服务器超过一定时间没有收到客户端的心跳包,就判定客户端离线 就不推送消息了 手机之类客户端一般是在熄灯模式下为了省电,断开了WIFI连接,建议按楼上操作,保持WIFI永不关闭试试
———— 我觉得是服务器的心跳包进不来导致的~!
sanxiaochengyu 2016-01-06
  • 打赏
  • 举报
回复
长连接一般使用TCP Socket 通讯 客户端或者服务器端 向对方发送心跳包(间隔固定时间发送数据包),对方收到心跳包后并给出应答包 我猜应该是客户端向服务器发送心跳包,服务器超过一定时间没有收到客户端的心跳包,就判定客户端离线 就不推送消息了 手机之类客户端一般是在熄灯模式下为了省电,断开了WIFI连接,建议按楼上操作,保持WIFI永不关闭试试
haha_321 2016-01-05
  • 打赏
  • 举报
回复
这个问题你可以设置一下wifi 让其锁屏仍然链接看看,设备为了省电会在锁屏后断开链接。
kemengle 2016-01-05
  • 打赏
  • 举报
回复
求帮助啊~!!!!

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧