C# 在C中指定要与TCPClient/Socket一起使用的传出IP地址#
我有一个服务器,有几个IP地址分配给网络适配器 该服务器上有一个客户端应用程序,可通过TCPClient连接到另一个服务器应用程序。对于所有传出通信,我的服务器使用默认IP地址,但是对于这个应用程序,我希望传出通信在另一个本地IP地址上发送 在向外通信时是否可以指定另一个本地分配的IP 我试图使远程服务器应用程序认为它来自另一个IP,因此它将通过防火墙等C# 在C中指定要与TCPClient/Socket一起使用的传出IP地址#,c#,sockets,ip-address,tcpclient,C#,Sockets,Ip Address,Tcpclient,我有一个服务器,有几个IP地址分配给网络适配器 该服务器上有一个客户端应用程序,可通过TCPClient连接到另一个服务器应用程序。对于所有传出通信,我的服务器使用默认IP地址,但是对于这个应用程序,我希望传出通信在另一个本地IP地址上发送 在向外通信时是否可以指定另一个本地分配的IP 我试图使远程服务器应用程序认为它来自另一个IP,因此它将通过防火墙等 提前感谢您可以使用接受本地端点地址的TcpClient构造函数: TcpClient c=new TcpClient(new System.N
提前感谢您可以使用接受本地端点地址的
TcpClient
构造函数:
TcpClient c=new TcpClient(new System.Net.IPEndPoint(...));
例如:
TcpClient c=new TcpClient(new IPEndPoint(IPAddress.Parse("192.168.1.1"), 0);
参考资料:谢谢,我错误地认为构造函数是远程主机的端点。出于兴趣,System.Net.Sockets.Socket类是否有类似的功能?它有一个LocalEndPoint属性,但它只是一个getter而不是setter。没关系-我找到了这里解释的Bind方法:非常感谢您的帮助Aviad如果我想使用的另一个IP不是本地IP怎么办?一个通信通道由两个套接字组成,每个套接字都有一个地址,这个问题涉及本地端的套接字。如果你想连接到某个遥远的地方,你要问的是远端。要指定连接的目标,请使用
Connect
方法。