首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

关于udp服务器接收数据,回复n个客户端的有关问题

2012-02-27 
关于udp服务器接收数据,回复n个客户端的问题首先n个客户端向udp服务器发送数据,udp服务器将这些数据存储到

关于udp服务器接收数据,回复n个客户端的问题
首先n个客户端向udp服务器发送数据,udp服务器将这些数据存储到list集合中,等待其他业务处理,
所以当服务器接收到数据,是不能立即回复“OK”的,有可能需要10分钟,甚至更长, 
那如何在任何时候,并且能够准确的回复所有客户端?

[解决办法]

探讨
首先n个客户端向udp服务器发送数据,udp服务器将这些数据存储到list集合中,等待其他业务处理,
所以当服务器接收到数据,是不能立即回复“OK”的,有可能需要10分钟,甚至更长,
那如何在任何时候,并且能够准确的回复所有客户端?

[解决办法]
你的LIst集合中设立标识,例如包的持有者名称和IP地址,等你要发的时候查询对应的地址发送即可。外网通讯的情况下参照楼上的 先打洞,后发心跳包
[解决办法]
其实tcp的工作原理就是定时向服务器发送心跳包,所以你用udp的话,就是要发送心跳包来保持连接状态!
[解决办法]
在服务器维护个客户端在线列表,也需要所有的客户端定时 10-20秒钟 向服务器发送数据, 
服务器在 20秒钟之内没有收到某个客户端的数据,就删除该客户端,就认为该客户端不在线,
当该客户端20秒以后再次发送数据到服务器时,重新添加该客户端到服务器的在线列表中;
应该是这样来设计的,不知道是否可行

热点排行