C 开发 socket 调用 bind 函数 crash

发布于 2022-09-05 05:22:16 字数 766 浏览 15 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十六岁半 2022-09-12 05:22:16

没有 return -_=#

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文