在windows下進行c++編程,電腦具有多個網卡,想同時在每個網卡上起網路鏈接進行通信,如何實作,查找過名種帖子,都沒發現可用方法,bind沒有解決問題。
uj5u.com熱心網友回復:
再仔細研究研究bind?uj5u.com熱心網友回復:
bind 可以
struct hostent *ht = gethostbyname(NULL);
for(int n=0; ht && ht->h_addr_list[n]; n++)
{
SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
sockaddr_in addr = {0};
addr.sin_family = ht->h_addrtype;
//Addresses are returned in network byte order.
addr.sin_addr.s_addr = *(u_long *) ht->h_addr_list[n];
//service provider assigns a unique port
addr.sin_port = htons(0);
if(bind(s, (sockaddr*)&addr, sizeof(addr)) == SOCKET_ERROR)
{
DWORD dwErr = WSAGetLastError();
ASSERT(0);
}
//connect
//while(1) { send recv }
closesocket(s);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250308.html
標籤:C++ 語言
上一篇:vs2017輸出字符為亂碼?
下一篇:求助
