2016-11-11 76 views
0

我剛剛開始使用winsock,它似乎只是默認在本地計算機上創建服務器,而不是接受外部連接(來自系統中的其他計算機)。我在尋找的C++相當於socket.bind(("192.168.0.112", 1024))在Python(而不是"localhost"使用winsock設置主機名?

回答

1

如果你希望綁定到所有適配器,這是來自本地主機和遠程地址接受連接做最普通的事情,那麼這是你真的必須做的:

sock = socket(AF_INET, SOCK_STREAM, 0); // SOCK_STREAM==TCP. Use SOCK_DGRAM if you want UDP 

sockaddr_in addr = {};   // ={} is zero-init. Since INADDR_ANY is 0, it implicitly sets this as well 
addr.sin_family = AF_INET; 
addr.sin_port = htons(1024); // port 1024 in network byte order 

int result = bind(sock, (sockaddr*)&addr, sizeof(addr));