我正在监听游戏何时加入服务器,并且我知道端口范围,但不幸的是 UDPClient 的接收功能仅监听特定端口。由于它加入的端口在范围内是随机的,有没有好的方法来处理 UDP 端口范围上的监听?
这是来自其开发者的游戏论坛: “Dota 2 使用 UDP 协议(protocol)并通过端口 27015 到 28999 与我们的专用服务器进行通信。默认情况下,您的客户端或您的计算机会打开 UDP 端口 27005 来连接到游戏服务器。” -http://dev.dota2.com/showthread.php?t=15261
最佳答案
使用套接字 API 是不可能的。您将需要使用一个在更深层次上与 TCP/IP 堆栈相关的库,例如 libpcap
。
由于您使用 C#,因此您最感兴趣的是 pcap.NET, a .NET interface to WinPCap
如果你想匹配目标UDP端口,你可以使用过滤器
udp[2:2] >= 9000 and udp[2:2] < 9100
关于c# - 监听一系列 UDP 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216894/