如何从 .net 中的字节数组解析 STUN 消息

How to parse STUN messages from byte array in .net

我正在研究如何在 .Net 中为 WebRTC 项目创建 STUN 服务器。

我已经使用本地主机的 STUN url 设置了我的 WebRTC 项目,并且我有一个套接字在同一端口上侦听以尝试查看 STUN 请求是什么样的。

我也在尝试将该请求转发给 google STUN url,但它不起作用,但现在不相关。

由于我使用的是 C# 和 .net,因此我设法获得了 STUN 请求并且数据是一个字节数组。

但是 STUN 规范提到了针对消息的不同部分使用位。

如何将接收到的数据中的字节转换为 STUN 消息的各个部分?
IE。消息类型、消息class、Magic Cookie、交易Id等

如果我将它转换为 BitArray,它只包含 true/false 个值。

STUN 规范提到了 0b00、0b01 之类的东西,它们看起来像 HEX 值。

还是我遗漏了一些明显的东西?

对我来说,它看起来不像十六进制值 (0xFF)。这些看起来像二进制值 false (0b00) 和 true (0b01)。