android - C 开发 socket 调用 bind 函数 crash
本文介绍了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屋!
查看全文