在C#中指定用于TCPClient / Socket的传出IP地址

我有一个服务器,其中有几个IP地址分配给网络适配器。

在该服务器上是一个客户端应用程序,通过TCPClient连接到另一个服务器应用程序。 对于所有传出通信,我的服务器使用默认IP地址,但是对于这个应用程序,我希望传出通信在另一个本地IP地址上发送。

是否可以在通信时指定另一个本地分配的IP?

我正在尝试使远程服务器应用程序认为它来自另一个IP,因此它将通过防火墙等….

提前致谢

您可以使用接受本地端点地址的TcpClient构造函数:

 TcpClient c=new TcpClient(new System.Net.IPEndPoint(...)); 

例如:

 TcpClient c=new TcpClient(new IPEndPoint(IPAddress.Parse("192.168.1.1"), 0); 

参考: TcpClient构造函数(IPEndPoint)