iOS-基于UDP连接<Scoket-客户端>

一:前言(本文为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]);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Teredo 原理概述 http://www.ipv6bbs.cn/thread-144-1-1.html (出处...
    我是叶问小盆友阅读 6,621评论 0 1
  • 11.1 引言 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一...
    张芳涛阅读 7,893评论 1 6
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 14,470评论 6 174
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,671评论 2 56
  • 18.1 引言 TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。本章将...
    张芳涛阅读 8,699评论 0 13