推送系统里使用 UPD 还是TCP做心跳包?
来源:互联网 发布:怎么在手机淘宝交电费 编辑:程序博客网 时间:2024/04/30 15:44
UDP是无连接的。客户端每隔一定时间发一次给服务端,服务端每隔一定时间判断一次,如果某个客户端大于一定时间没有包来往,则可认为该客户端“掉线”了。
心跳包只是用来负责维护路由端口的,你只需要在最后一次收到或发送数据后的指定时间内,发送一次就可以,至于服务器还是客户端发送并不重要。一般来说,心跳包是一个往复,即从一方发往另一方后,另一方应回复一个确认收到心跳包,否则,由于在中间路由过程中,说不准被那个路由器丢包,你所谓的连接也就无法正确的保持。
虽然TCP本身的包头要比UDP多,但是UDP在实际应用中往往需要维护双向通道,就必须要通过大量的心跳包数据来维护端口资源。总的比较起来,UDP的实际流量要比TCP还要大。很多使用者在初期的时候并不了解UDP需要大量心跳包来维持端口资源这个问题,往往都认为UDP要比TCP更节省流量,实际上这里存在着一个误区。
在某些特定的应用场合,例如一些银行的时时交互系统,对响应速度要求很高,此时数据传输频率较快,不需要大量心跳包维持UDP端口资源,采用UDP就比较有利了。
0 0
- 推送系统里使用 UPD 还是TCP做心跳包?
- 推送系统里使用 UPD 还是TCP做心跳包?
- 使用TCP keepalive还是HeartBeat心跳包?
- TCP/IP-心跳包
- TCP/IP-心跳包
- TCP之心跳包
- TCP 心跳包
- 使用tcpdump 抓android手机的tcp upd http 等网络包
- 使用“带外数据”实现TCP心跳包
- 使用“带外数据”实现TCP心跳包
- TCP keepAlive详解(TCP心跳包)
- tcp连接探测Keepalive和心跳包
- Twisted 库 TCP 服务器 心跳包demo
- tcp连接探测Keepalive和心跳包
- TCP之心跳包实现思路
- TCP之心跳包实现思路
- TCP socket心跳包示例程序
- TCP之心跳包实现思路
- 成员函数作为线程函数调用
- NYOJ题目744蚂蚁的难题(一)(数学,不大懂)
- 实现:Linux主机做路由,为子网实现共享上网
- 黑马程序员----实例方法跟类方法的区别
- KMP算法
- 推送系统里使用 UPD 还是TCP做心跳包?
- Android开发系列(九):创建数据库以及完成简单的CRUD操作
- 递归算法的时间复杂度分析
- Matlab基础学习---------常用的数学函数实例学习
- 二叉树的建立(非递归建立与定义建立)与基本操作(广度和深度遍历,求叶子树高)实现
- linux C++ 共享库导出类
- 九度_题目1356:孩子们的游戏(圆圈中最后剩下的数)
- 二分插入排序
- Toast详解