您好,我想在我的本机代码中创建一个套接字,以便通过使用这样的套接字来实现更快速的 ping 功能:
if ( (socketid = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)) < 0)
{
perror("socket"); /* probably not running as superuser */
__android_log_print(ANDROID_LOG_DEBUG,TAG,"socket error: ret %d error: %d",socketid,errno);
return false;
}
但是我意识到这会返回 1 的 errno(EPERM 或不允许操作),奇怪的是我设置了 INTERNET 权限,而我的 android 设备是 x86 模拟器(所以是 root 的),我在某处读到这是不可能的本地方式但我在这里问是否有任何解决方案或假设目前完全不可能。