iOS-基于UDP连接

一:前言(本文为UDP客户端)

UDP客户端直接可以根据服务端的IP地址和端口号去发送数据 服务端收到数据之后会得到这个客户端的IP地址和端口号 根据这个IP地址和端口号服务端才能知道给哪个客户端发送消息

二:代码在GitHub

1.部分代码及其截图

<1>创建UDP-Scoket

    udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()] ;
    
    [udpSocket bindToPort:8000 error:nil];
    
    NSError *error = nil;
    
    [udpSocket enableBroadcast:YES error:&error];//允许广播 必须 否则后面无法发送组播和广播
    
    [udpSocket joinMulticastGroup:@"224.0.0.1" error:nil];
    
    [udpSocket beginReceiving:nil];//必须要  开始准备接收数据

<2>向服务端发送数据

    //给服务端发送消息
   [udpSocket sendData:[@"1" dataUsingEncoding:NSUTF8StringEncoding] toHost:@"224.0.0.1" port:8099 withTimeout:-1 tag:0];

<3>UDP代理

//UDP 回调函数
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext {
    //接收客户端消息
    NSLog(@"ReceiveData = %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}

你可能感兴趣的:(iOS-基于UDP连接)