c# - 监听一系列 UDP 端口

标签 c# udp

我正在监听游戏何时加入服务器,并且我知道端口范围,但不幸的是 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/

相关文章:

c# - 确定字符串长度是否最有效的方法!= 0?

c# - 如何将正则表达式与 javascript 中的谷歌搜索更正字符串相匹配

sockets - 如何读取在 Golang 中接收到的 UDP 数据报的输入接口(interface)和远程套接字地址?

c++ - Rust 不接收来自 C++ 的 UDP 消息

javascript - 使用服务器绑定(bind)时,如何从 Kendo 网格选定行获取数据?

c# - 捕获击键

c# - 从父 View xaml 设置子控件 View 模型的属性

c++ - 辅助网络接口(interface)上的Linux C/C++ UDP服务器

java - 在 Android 模拟器上创建 UDP 连接

C# 服务器向 Java 客户端发送 UDP 数据包