同一消息的两个侦听线程

本文关键字:两个 线程 消息 | 更新日期: 2023-09-27 17:56:12

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

我的问题是:两个侦听线程都会从服务器获取消息,还是第一个得到消息的线程是唯一一个获取消息的线程?

同一消息的两个侦听线程

如果我理解正确,您将运行两个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();

第二个要启动的将抛出一个套接字异常。 给定端口/网络地址只能有一个侦听器。