如何在两台计算机之间设置TCP通信

时间:2015-05-22 23:54:42

标签: c# sockets tcp

我正在尝试将TCP协议与System.Net.Sockets库一起使用,让一台计算机向另一台计算机发送字符串。这是我的主机代码的一部分。是否应该使用客户端IP地址或主机IP地址声明侦听器对象(如下面的代码中所示)?

IPAddress ipAddr = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0]; //Automatically retrieves IPAddress. 

int port = 135; //specify port number.
TcpListener listener = new TcpListener(ipAddr, port);

此外,这是我的一部分客户端代码。我使用哪种构造函数?

TcpClient client = new TcpClient();

2 个答案:

答案 0 :(得分:1)

侦听器对象侦听主机 IP。构造函数将其作为参数,因为您可以在计算机上拥有多个IP,并且它不知道您要监听哪个IP。

就客户端而言,您可以选择您想要的任何构造函数。通过使用参数化构造函数,您可以立即连接,而默认需要调用Connect的一个重载。它主要取决于你是否真的想在实例化时连接。

有关您可以使用的重载,请参阅MSDN

答案 1 :(得分:0)

这是一个TCP服务器示例代码:

int port = 135; //specify port number.
TcpListener listener = new TcpListener(IPAddress.Any, port);
// Start listening for client requests
listen.Start();

然后您可以选择使用轮询方法来创建简单的同步TCP服务器。

客户端(PowerShell):

$Address = [System.Net.Dns]::GetHostAddresses("<hostName>")
$Port = 135
$client = New-Object System.Net.Sorckets.TcpClient
$Client.Connect($Address, $Port)
相关问题