使用 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));
我刚开始使用 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));