使用UDP方式 与iOS端App通讯
来源:互联网 发布:windows bat日期加减 编辑:程序博客网 时间:2024/06/05 15:50
- 首先需要安装一个TCP&UDP测试工具
- 连接类型选择UDP
- 目标IP 设置手机的IP, 端口8888 (这个端口在App端用来绑定)
- 指定端口, 是App向回发信息所需要的端口, 具体设置如下图所示
接下来为减少代码的键入, 我直接使用CocoaAsyncSocket这个三方库,作为中间媒介完成整个过程
{ GCDAsyncUdpSocket *udpSocket; // 定义一个socket的对象 签订代理 GCDAsyncUdpSocketDelegate}
麦 2017/7/20 17:05:40 /*************** UDP ***********************/ udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; NSError *error = nil; // 绑定端口 [udpSocket bindToPort:8888 error:&error]; // 启用广播 [udpSocket enableBroadcast:YES error:&error]; if (error) { [SVProgressHUD showErrorWithStatus:@"启用失败"]; }else { NSLog(@"%@", [udpSocket localHost]); // 开始接收消息 [udpSocket beginReceiving:&error]; } /*************** UDP ***********************/
#pragma mark - GCDAsyncUdpSocketDelegate- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(nullable id)filterContext { NSLog(@"success"); NSString *ip = [GCDAsyncUdpSocket hostFromAddress:address]; NSString *s = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"收到响应 %@ %@", ip, s); [sock receiveOnce:nil]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ uint16_t port = 9999; [self sendBackToHost:ip port:port withMessage:s]; });}- (void)sendBackToHost:(NSString *)ip port:(uint16_t)port withMessage:(NSString *)s{ // 回一个 hello summerxx too char *str = "hello summerxx too" ; NSData *data = [NSData dataWithBytes:str length:strlen(str)]; [udpSocket sendData:data toHost:ip port:port withTimeout:0.1 tag:200];}
阅读全文
0 0
- 使用UDP方式 与iOS端App通讯
- UDP方式点对点通讯
- app 与服务端通讯方式概览
- IOS UDP通讯
- php端使用二维数组与iOS进行Json通讯
- php端使用二维数组与iOS进行Json通讯
- UDP通讯(vc与c通讯)
- UDP通讯:服务器与客户端
- 基于UDP的端与端之间通讯Demo
- C# UDP通讯类 多线程方式
- UDP通讯方式及编程实现步骤
- UDP通讯方式及编程实现步骤
- UDP通讯方式及编程实现步骤
- UDP通讯方式及编程实现步骤
- IOS APP之间跳转通讯
- java使用UDP数据报通讯方式QQ聊天系统:服务器、客户端
- iOS开发-Socket通讯方式
- ios::app与ios::ate打开方式的不同
- python-数据库
- Android Wi-Fi 设置wifi Only 11a、b、g、n 扫描(以QCOM为平台)
- 1039. Course List for Student (25)
- g++ 64位版
- 深入浅出Tensorflow(一):深度学习及TensorFlow简介
- 使用UDP方式 与iOS端App通讯
- 找到不重复字母在一个字符串第一次出现的索引 三种方法
- 在linux服务器下使用maven(持续更新)
- BZOJ 1854-游戏(并查集)
- 进度条动画(纯css)
- TCP协议
- myeclipse打开.html文件乱码问题
- Vessels
- 单源最短路径算法