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