小编sdu*_*key的帖子

iOS - 如何获取IPv6 DNS IP地址?

我可以使用下面的代码来获取IPv4 DNS地址.使用IPv6 DNS地址,res_ninit()无法分析IPv6地址.与此类似,iOS的-获取IPv6的唯一网络设备的DNS服务器地址,sin_family永远是AF_UNSPEC.

有没有其他解决方案来获取I​​Pv6 DNS地址?感谢帮助.

+ (void)outPutDNSServers {
    res_state res = malloc(sizeof(struct __res_state));
    int result = res_ninit(res);

    if ( result == 0 ) {
        for ( int i = 0; i < res->nscount; i++ ) {
        NSString *s = [NSString stringWithUTF8String : inet_ntoa(res->nsaddr_list[i].sin_addr)];
        NSLog(@"%@",s);
        }
    }
    else {
        NSLog(@"%@",@" res_init result != 0");
    }
    res_nclose(res);
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我已经解决了下面的问题.

+ (void)outPutDNSServers {
res_state res = malloc(sizeof(struct __res_state));
int result = res_ninit(res);
if (result …
Run Code Online (Sandbox Code Playgroud)

dns ipv6 ios

8
推荐指数
0
解决办法
1960
查看次数

ART在本机信号处理期间阻止来自JNI的任何Java调用

我的项目使用捕获崩溃的模块并在android系统中发送.处理本机崩溃时,本机代码将执行某些操作,然后从JNI执行Java调用.它适用于Dalvik.但它在使用ART的5.0以上的Android版本中失败了.因为ART在本机信号处理期间阻止来自JNI的任何Java调用.它说ART信号处理使用备用信号堆栈,所以在信号处理过程中,不能调用java方法吗?还有其他方法吗?
流:
1.Java调用本机方法,但本机方法崩溃.
2.本机崩溃处理程序捕获信号以处理崩溃.
3.在崩溃处理过程中,调用JNI方法但失败了

12-31 20:36:02.516 7845-7957 A/art: art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: JNI IsSameObject called with pending exception 'java.lang.StackOverflowError' thrown in...
in call to IsSameObject
stack=0x9fff8000-0x9fffa000 stackSize=1036KB
Run Code Online (Sandbox Code Playgroud)

参考:https://code.google.com/p/android/issues/detail?
id = 162663如果有人使用ART和/或Bionic可以调查一下,那就太好了.

java-native-interface android exception-handling native-code

3
推荐指数
1
解决办法
908
查看次数