关于GCDAsyncUdpSocket接受到数据后address参数怎么转码成服务器ipip

qq_31813867 2017-02-14 08:50:37
-(void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext{
NSString * string=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSString * serveAddress=[[NSString alloc]initWithData:address encoding:NSUTF8StringEncoding];
NSLog(@"data:%@=====ip:%@",string,serveAddress);
}
打印出来的结果,serveAddress为空,怎么正确转码
打印结果:
iosUdpdemo[1041:22500] data:jy9191=====ip:(null)


...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31813867 2017-02-14
  • 打赏
  • 举报
回复
引用 2 楼 scribbler 的回复:
address是sockaddr结构体,不能这样直接转换成字符串。 GCDAsyncUdpSocket提供一个方法转换。 [GCDAsyncUdpSocket hostFromAddress:address]; 希望对你有帮助
为什么我会一直接受自己发送的消息 监听端口[udpSocket bindToPort:10102 error:&error]) 发送NSData* sendData = [@"jy9191" dataUsingEncoding:NSUTF8StringEncoding]; NSString *host = @"255.255.255.255"; int port = 10102; [udpSocket sendData:sendData toHost:host port:port withTimeout:-1 tag:0];
qq_31813867 2017-02-14
  • 打赏
  • 举报
回复
引用 2 楼 scribbler 的回复:
address是sockaddr结构体,不能这样直接转换成字符串。 GCDAsyncUdpSocket提供一个方法转换。 [GCDAsyncUdpSocket hostFromAddress:address]; 希望对你有帮助
谢谢你啊 大神 可以了
scribbler 2017-02-14
  • 打赏
  • 举报
回复
address是sockaddr结构体,不能这样直接转换成字符串。 GCDAsyncUdpSocket提供一个方法转换。 [GCDAsyncUdpSocket hostFromAddress:address]; 希望对你有帮助
qq_31813867 2017-02-14
  • 打赏
  • 举报
回复
在线等 急、。。。。。。

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧