iOS UDP编程

本文介绍了iOS环境下使用UDP进行编程,强调了其相对于TCP的速度优势。通过创建并绑定AsyncUdpSocket对象,实现接收和发送数据的功能,并提供了接收数据和发送数据成功的代理方法示例。附带了一个简单的UDP通信Demo链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/detail/u010576399/9189721



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值