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 -_=#