
1.无连接,发送数据之前不需要建立连接。开销和发送之前的时间延迟较短。 2.尽最大努力交付。(可以采取一定策略实现可靠传输) 3.面向报文,UDP对应用程序交付的报文,添加UDP首部后直接交给IP层。不链册合并,不拆分。 4.没有拥塞控制,网络拥塞不会使源主机发送率降低。 5.UDP支持一对一,一对多棚迹宏,多对一的交互通信 6.UDP首部开销较小,8字节(TCP为20字节、IP为20字节)
1.AsyncUdpSocket
2.GCDAsyncUdpSocket
在项目中,所用到的类库是AsyncUdpSocket,所以这里基于AsyncUdpSocket对UDP开发做一个简单的文档说明:
1.将AsyncUdpSocket.h, AsyncUdpSocket.m文件拷贝到项目中。在项目target ->build phases ->compile sources ->AsyncUdpSocket文件后面加入 -fobjc-arc ,这是为了使编译器编译的时候将此文件在arc的条件下编译。
2.添加CFNetwork.framework
初始化socket,设置代理,绑定端口号
心跳包就是广播255.255.255.255,确保在同一局域网的都能收到心跳
AsyncUDPSocketDelegate的代理方法
传送门
代码就算了。搜索一下,大把UDP的实现的。客户端,定时给服务器发送一个表明自己身份(用户ID、含旁手IP、等能唯一识别的就行)、和时间或序号谈嫌的数据,表示还“活”着。服启缺务器也定时判断哪个还“活”着,发现不“活”了立即更新其状态
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)