在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)