两个监听同一消息的线程

时间:2016-07-09 17:11:26

标签: c# client

我有一个问题。我使用C#在Windows Forms中基于tcp与服务器和客户端构建游戏。我运行一些侦听端口8820的线程,每个线程都是不同的形式。

我的问题是:两个侦听线程是从服务器获取消息,还是第一个让它成为唯一一个获取它的消息?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你将有两个TcpListener在运行,每个都在不同的表格上,但对于同一个端口,如下:

// Runs on Form #1
TcpListener tcp1 = new TcpListener(IPAddress.Any, 9876);
tcp1.Start();

// Runs on Form #2
TcpListener tcp2 = new TcpListener(IPAddress.Any, 9876);
tcp2.Start();

第二个启动将抛出SocketException。对于给定的端口/网络地址,您只能有一个侦听器。