您的位置:首页 > 移动开发 > IOS开发

iOS UDP编程

2015-10-17 20:08 579 查看
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送大量数据、对可靠性要求不高的应用环境。

tcp协议和udp协议的差别

是否连接 面向连接 面向非连接

传输可靠性 可靠 不可靠

应用场合 传输少量数据 大量数据

速度 慢 快

UDP有TCP望尘莫及的速度,所以它的应用面也很广。上一篇写的TCP主要是面向连接,传输次序不会乱,但UDP就不给你保证了。但是它免去了三次握手四次挥手,速度自然快,代码量也会小一些。

以下是核心代码:

UDPSocket的使用

1.创建UDP套接字对象

_recevSocket = [[AsyncUdpSocket alloc]initWithDelegate:self];

_sendSocket = [[AsyncUdpSocket alloc]initWithDelegate:self];

[_recevSocket bindToPort:0x1234 error:nil];

[_sendSocket bindToPort:0x4321 error:nil];

//监听

[_recevSocket receiveWithTimeout:-1 tag:100];

2.UDPSokect代理

收到了对方传过来的消息

- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port

[_recevSocket receiveWithTimeout:-1 tag:100];

发送消息成功

- (void)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag

3.UDPSoket发送消息

[_sendSocket sendData:[contentField.text dataUsingEncoding:NSUTF8StringEncoding] toHost:ipField.text port:0x1234 withTimeout:-1 tag:200];

我还是写了一个小Demo,这次我等了一下,在资源中显示出来了 ^_^。

http://download.csdn.net/detail/u010576399/9189721
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: