Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中指定要与TCPClient/Socket一起使用的传出IP地址#_C#_Sockets_Ip Address_Tcpclient - Fatal编程技术网

C# 在C中指定要与TCPClient/Socket一起使用的传出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

我有一个服务器,有几个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);

参考资料:

谢谢,我错误地认为构造函数是远程主机的端点。出于兴趣,System.Net.Sockets.Socket类是否有类似的功能?它有一个LocalEndPoint属性,但它只是一个getter而不是setter。没关系-我找到了这里解释的Bind方法:非常感谢您的帮助Aviad如果我想使用的另一个IP不是本地IP怎么办?一个通信通道由两个套接字组成,每个套接字都有一个地址,这个问题涉及本地端的套接字。如果你想连接到某个遥远的地方,你要问的是远端。要指定连接的目标,请使用
Connect
方法。