使用 winsock 设置主机名?

Set hostname using winsock?

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