使用winsock设置主机名?

时间:2016-11-11 16:59:09

标签: c++ windows sockets winsock2

我刚刚开始使用winsock,它似乎只是默认在本地计算机上创建服务器,而不是接受外部连接(来自系统上的其他计算机)。我正在寻找Python中{+ 1}}的C ++等价物(而不是socket.bind(("192.168.0.112", 1024))

1 个答案:

答案 0 :(得分:2)

如果要绑定到所有适配器,这是接受来自localhost和远程地址的连接最常见的事情,那么这就是你真正需要做的事情:

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));