STUN-iOS 项目无法显示 public IP

STUN-iOS project can not show public IP

现在 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

我无法显示我需要的 public IP。

请给我解决问题的建议。非常感谢

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>

我找到了 "STUN-iOS project" 无法显示 public IP 的原因,而我们是 运行。

原因:服务器stunsever.org不工作。

解决方案:在文件 STUNClient.h 中,只需将代码 #define STUNServer @"stunserver.org" 更改为 #define STUNServer @"stun.services.mozilla.com"。它工作正常。