如何使用 WinSock2 在 C 中为客户端设置 IP 地址

How to set IP Address for Client in C with WinSock2

我的电脑有2个以太网卡的2个IP地址。 192.168.0.1 是一个服务器,但是如何在 Cwinsock2 中将 192.168.0.2 设置为客户端。默认客户端总是 192.168.0.1.

您可以在 connect 之前调用 bind,为客户端提供特定的 IP 地址或端口。

sockaddr_in service;
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr("192.168.0.2"); // bind to specific IP address
service.sin_port = 0; // not to specify port number

iResult = bind(ListenSocket, (SOCKADDR *) &service, sizeof (service));

// then call connect()...