C#TcpClient首先连接连接

时间:2011-06-27 16:26:38

标签: c# concurrency tcp distributed tcpclient

我们有一个程序的两个或多个实例(“节点”)通过TCP连接到彼此。我们已按如下方式实施:

// 1. Connect
TcpClient connection;

while(true){
    try
    {
        connection = new TcpClient("localhost", ((Port)Port).Value);
    }
    catch(SocketException/* Exception*/)
    {
        continue;
    }

    break;
}

// use the connection

这是并行发生的。首先连接的节点被视为它连接到的节点的父节点。我们想用这个属性来生成生成树。 我们如何找出首先连接的节点,看到连接的唯一方法是调用TcpClient的构造函数?我们在哪里可以找到有关连接的其他信息?

请注意,出于测试目的,我们在一台计算机上使用多个端口。它应该通过互联网在不同的机器之间工作。

1 个答案:

答案 0 :(得分:1)

您无法从客户端代码中确定这一点。

只有服务器才能确定。并且只有服务器可以构建您指定的树。

如果您已编写或有权修改服务器代码,则应将其发布,以便获得进一步的帮助。