我目前正在用c#构建DHCPMessage类。

RFC在此处可用: http://www.faqs.org/rfcs/rfc2131。html

通用标签

如果我们想象每个字段都是一个固定长度的位数组,那是什么?

  1. 最实用的
  2. 最佳做法

    将其表示为类的方式?

    OR ..你怎么写的?:)

有帮助吗?

解决方案

与此相伴,您走错了路,这不是矢量。该消息以“八位位组”(又称为“字节”)定义。可与Marshal.PtrToStructure一起使用的等效C#声明为: 通用标签

您需要单独处理可变长度选项字段。

其他提示

对于初学者来说,您可以尝试 BitArray 类。无需在这里重新发明轮子。

如果您担心它占用过多的空间/内存,请不要。只需将其初始化为合适的大小即可: 通用标签

(以上内容将保留8位,并应占用1个字节)

您确定要对其中一些使用位数组吗?例如,您可以将byte用作8位,将int用作32位,并将字节数组用于映射到以空终止的字符串(例如'sname')的段。然后,您可以使用简单的按位运算符(&,|)来检查/操作这些位。

这里有一些关于将TCP标头转换为结构的文章,其中还介绍了字节序等。

http://taylorza.blogspot.com/2010/04/archive-structure-from-binary-data.html http://taylorza.blogspot.com/2010/04 / archive-binary-data-from-structure.html

这些文件已经很老了,我只是从旧博客迁移过来的,以免丢失。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top