【发布时间】:2014-05-10 18:46:59
【问题描述】:
我的服务器程序可以很好地绑定到 0.0.0.0 (INADDR_ANY) 或 127.0.0.1 (INADDR_LOOPBACK),但是我希望程序在我的本地网络 IP (192.168.1.24) 上侦听并且我不断收到此错误:
打开监听端口 8888 时出错(原始 TCP 输出):无法分配请求的地址
以下是相关代码:
#define LOCAL_IP ((unsigned long int) 0x1801A8C8) //192.168.1.24
#define PORT 8888
struct sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_port = htons(PORT);
sa.sin_addr.s_addr = LOCAL_IP; /* Bind servers to local net*/
//sa.sin_addr.s_addr = htonl(INADDR_ANY);
我也尝试过 htonl(LOCAL_IP) 和 inet_addr("192.168.1.24"),但没有成功。
【问题讨论】:
-
什么操作系统?您是否有防火墙或类似的安全措施在运行?
-
INADDR_ANY 有什么问题?
-
啊,它是 C0 而不是 C8!谢谢,我真的应该注意到这个错误。现在修好了!谢谢。