C 开发 socket 调用 bind 函数 crash

android ndk 开发 socket,在调用 bind 函数的时候 crash。

//绑定端口
static int bindSocketToPort(JNIEnv *env, jobject obj, int sd, unsigned short port) {
    struct sockaddr_in address;

    memset(&address, 0, sizeof(address));
    address.sin_family = PF_INET;

    address.sin_addr.s_addr = htonl(INADDR_ANY); //绑定所有地址
    address.sin_port = htons(port); //转化为网络编码 big-endian

    logMessage(env, obj, "Binding to port %hu.", port);
    if (bind(sd, (struct sockaddr *) &address, sizeof(address)) == -1) {
        throwErrnoException(env, IOEXCEPTION, errno);
    }
}

单步调试 sd 正常 port 设置为0

clipboard.png

阅读 3.4k
1 个回答

没有 return -_=#

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题