在本機(jī)上寫了一個(gè)簡(jiǎn)單的基于TCP的客戶端和服務(wù)器端的通信程序,服務(wù)器端程序開啟的時(shí)候總是提示:bind錯(cuò)誤,用WSAGetLastError()獲取錯(cuò)誤類型為10049。
memset(&server_addr,0,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port =htons(7000);
server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);
對(duì)于10049錯(cuò)誤類型的解釋為:
1 0 0 4 9 —W S A E A D D R N O TAVA IL
不能分配請(qǐng)求的地址。A P I 調(diào)用中指定的地址對(duì)那個(gè)函數(shù)來說無效時(shí),就會(huì)產(chǎn)生這樣的錯(cuò)誤。例如,若在b i n d 調(diào)用中指定一個(gè)I P 地址,但卻沒有對(duì)應(yīng)的本地I P 接口,便會(huì)產(chǎn)生這樣的錯(cuò)誤。另外,通過c o n n e c t 、W S A C o n n e c t 、s e n d t o 、W S A S e n d To 和W S A J o i n L e a f 這四個(gè)函數(shù)為 準(zhǔn)備連接的遠(yuǎn)程計(jì)算機(jī)指定端口0 時(shí),也會(huì)產(chǎn)生這樣的錯(cuò)誤。
換了幾個(gè)不同的端口,錯(cuò)誤依舊.網(wǎng)上查找原因,也沒得到解決。關(guān)掉防火墻也沒得到解決。最后把:server_addr.sin_addr.s_addr=inet_addr(INADDR_ANY);
改為:server_addr.sin_addr.s_addr=inet_addr(“127.0.0.1”);
錯(cuò)誤解決。不明白為何會(huì)這樣。
愛華網(wǎng)



