如何解决在C中格式化和解析自定义协议标头的位操作
我正在实现一个自定义网络协议,该协议位于应用程序和传输层(UDP)之间。该协议将应用程序层数据拆分为较小的块(数据包),并使用一些标头字段封装它们。 协议的标题如下所示(让我们暂时忽略每个字段的含义):
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| Opt Len |O|C| Rsvd. | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ver
是2位,Opt Len
是6位,O
和C
都是1位,Rsvd
是6位,{{1} }是16位。假设我有每个字段所需的值。
我将如何在C中构建此标头字符串? 我正在考虑使用位移运算符,但不确定如何操作。
此外,如果我接收到该协议的数据包(带有这些标头字段)作为字符串。如何解封装该数据包并获取标头字段的所有值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。