我有一个问题。我使用C#在Windows Forms中基于tcp与服务器和客户端构建游戏。我运行一些侦听端口8820的线程,每个线程都是不同的形式。
我的问题是:两个侦听线程是从服务器获取消息,还是第一个让它成为唯一一个获取它的消息?
答案 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。对于给定的端口/网络地址,您只能有一个侦听器。