- 論壇徽章:
- 0
|
代碼:
memset((void *)&hostaddr, 0, sizeof(hostaddr));
hostaddr.sin_family = AF_INET;
hostaddr.sin_port = htons(6666);
#if 1
ret = inet_aton("192.168.0.101", &(hostaddr.sin_addr));
if ( ret == 0 )
{
close(socketfd);
return -1;
}
#else
hostaddr.sin_addr.s_addr = htonl(INADDR_ANY);
#endif
ret = bind(socketfd, (struct sockaddr *)&hostaddr, sizeof(hostaddr));
機器上有無線網(wǎng)卡和有線2個,有線未使用,并且確認192.168.0.101這個IP是無線網(wǎng)卡獲得的。使用此IP運行,bind處報錯:Cannot assign requested address。換成條件編譯關閉的那個能成功,因此排除port問題。
在網(wǎng)上搜索過,有人遇到類似問題,他們出錯是因為在調用inet_aton之后又調用了htonl,而我并沒有,為什么我這里會報錯? |
|