本帖最后由 sinanjj 于 2011-1-5 10:57 编辑
需求: 终端设备需要检测中心服务器是否在线.
服务器需要检测终端设备是否在线.
服务器检测终端设备在线的目的是为了显示当前状态, 人是否能否对设备下达指令.
终端设备检测服务器在线的目的是为了检测数据是否应该保存到备份存储器中.
心跳包对于udp也有检测网络状态的作用.
最简单的设计自然是:
C ----------------> 主动发起(带有id数据的udp包)--------------> S
C <----------------echo 带有id数据的udp包<-------------- S
程序顺序设计, 服务器端: 接收到包即回弹?
如何设计对数据记录刷新? 时延判断?
udp程序难以设计的原因在于: 很多tcp协议栈做的事你得自己做.
好处在于: 能够更好的掌控底层,从而更强的定制, 更好的符合物联网应用(当然这个具体看本事, 搞不好还不如直接tcp来的稳定) |