android - C 开发 socket 调用 bind 函数 crash

查看:122
本文介绍了android - 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

解决方案

没有 return -_=#

这篇关于android - C 开发 socket 调用 bind 函数 crash的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆