现在,我对iOS上的STUN协议有了问题。但是,在运行项目时,我在Github https://github.com/soulfly/STUN-iOS上下载了该项目。它只显示日志
2015-06-19 15:55:08.245 STUN[4669:607] STUN server: stunserver.org 2015-06-19 15:55:08.247 STUN[4669:607] STUN Binding Request=<00010000 2112a442 ab8b1ef9 7347bf10 e98c817b> 2015-06-19 15:55:08.275 STUN[4669:607] STUN didSendDataWithTag=1002
我不能向公众展示我所需要的知识产权。
请给我解决这个问题的建议。非常感谢
发布于 2015-06-19 17:02:49
我发现为什么“眩晕-iOS项目”不能显示公共IP时,我们运行。
原因:服务器stunsever.org不能工作。
解决方案:在文件STUNClient.h中,您只需将代码#define STUNServer @"stunserver.org"更改为#define STUNServer @"stun.services.mozilla.com"即可。效果很好。
发布于 2015-06-19 09:16:02
NSString *hostN = @"stunserver.org";
struct hostent* phot;
phot = gethostbyname(hostN.UTF8String);
if(phot) {
struct in_addr ip_addr;
memcpy(&ip_addr, phot->h_addr_list[0], 4);
char *ip = (char*)malloc(sizeof(char)*20);
inet_ntop(AF_INET, &ip_addr, ip, 20);
NSString *ipStr = [NSString stringWithUTF8String:ip];
free(ip);
NSLog(@"ip:%@", ipStr);
}包括一些头文件
#include <netdb.h>
#include <sys/socket.h>
#include <arpa/inet.h>https://stackoverflow.com/questions/30934098
复制相似问题