C# 从同一台PC多次连接到同一IP地址和端口

C# 从同一台PC多次连接到同一IP地址和端口,c#,tcp,tcpclient,C#,Tcp,Tcpclient,我正在测试一台设备,要测试的项目之一是,他们说我可以随意连接到它。显然有一个限制,但它是什么。我想我会把一个简单的应用程序放在一起,只需要连接到设备 我发现在c#中很容易建立连接,因此我的理论是给每个连接一个唯一的名称,例如tcpclnt_1、tcpclnt_2、tcpclnt_3等 我从一个连接开始,效果很好。我的问题是,我可以硬编码每个名称,以便我可以声明 public TcpClient tcpclnt_1 = new TcpClient(); public TcpClient tcpcl

我正在测试一台设备,要测试的项目之一是,他们说我可以随意连接到它。显然有一个限制,但它是什么。我想我会把一个简单的应用程序放在一起,只需要连接到设备

我发现在c#中很容易建立连接,因此我的理论是给每个连接一个唯一的名称,例如tcpclnt_1、tcpclnt_2、tcpclnt_3等

我从一个连接开始,效果很好。我的问题是,我可以硬编码每个名称,以便我可以声明

public TcpClient tcpclnt_1 = new TcpClient();
public TcpClient tcpclnt_2 = new TcpClient();
但这不是动态的。下面是一些代码,我在其中概述了我试图做的事情。它将不起作用,因为我无法找到一种方法来动态地将每个tcpclnt_x更改为唯一的名称。我甚至可能没有用正确的方法来做这件事,所以有没有关于如何多次连接到同一台设备的想法

 public TcpClient tcpclnt_x = new TcpClient();
 int iterations = Decimal.ToInt32(numupdown_iterations.Value);

        private void btn_creatConnections_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < iterations; i++)
            {
                tcpclnt_x.Connect("192.168.127.254", 721);
            }

        }

        private void btn_delete_connections_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < iterations; i++)
            {
                tcpclnt_x.Close();
            }
        }
public TcpClient tcpclnt_x=new TcpClient();
int iterations=Decimal.ToInt32(numupdown\u iterations.Value);
私有无效btn\u创建连接\u单击(对象发送方,事件参数e)
{
对于(int i=0;i
您需要调查列表和其他集合

public List<TcpClient> tcpclnts = new List<TcpClient>();
int iterations = Decimal.ToInt32(numupdown_iterations.Value);

    private void btn_creatConnections_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < iterations; i++)
        {
            var client = new TcpClient();
            client.Connect("192.168.127.254", 721);
            tcpclnts.Add(client);
        }

    }

    private void btn_delete_connections_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < iterations; i++)
        {
            tcpclnts[x].Close();
        }
    }
public List tcpclnts=new List();
int iterations=Decimal.ToInt32(numupdown\u iterations.Value);
私有无效btn\u创建连接\u单击(对象发送方,事件参数e)
{
对于(int i=0;i
您需要调查列表和其他集合

public List<TcpClient> tcpclnts = new List<TcpClient>();
int iterations = Decimal.ToInt32(numupdown_iterations.Value);

    private void btn_creatConnections_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < iterations; i++)
        {
            var client = new TcpClient();
            client.Connect("192.168.127.254", 721);
            tcpclnts.Add(client);
        }

    }

    private void btn_delete_connections_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < iterations; i++)
        {
            tcpclnts[x].Close();
        }
    }
public List tcpclnts=new List();
int iterations=Decimal.ToInt32(numupdown\u iterations.Value);
私有无效btn\u创建连接\u单击(对象发送方,事件参数e)
{
对于(int i=0;i
把它们放在列表中?还是字典?请注意,每个打开的连接都应该有一个唯一的本地地址/端口组合,可以用来标识它们。不能有多个使用相同连接地址和相同端口号的连接。如果打开多个连接,则必须更改端口和/或IP地址。是否将它们保留在列表中?还是字典?请注意,每个打开的连接都应该有一个唯一的本地地址/端口组合,可以用来标识它们。不能有多个使用相同连接地址和相同端口号的连接。如果你打开了多个连接,你将不得不更改端口和/或IP地址。谢谢你解决了这个问题,我学到了c#关于列表的一个新领域。我现在有很多连接到同一个IP地址和端口。谢谢你解决了这个问题,我学到了c#关于列表的一个新领域。我现在有许多连接到同一IP地址和端口。