- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在阅读帖子 here我遇到了这段代码
char packet[sizeof(icmphdr)];
memset(packet, 0, sizeof(packet));
icmphdr *pkt = (icmphdr *)packet;
据我所知,它们声明了一个大小为 icmphdr 的 char 数组,然后它对我来说变得模糊了。这之后的一行我什至不知道从哪里开始解释。
最佳答案
查看 icmphdr
的类型定义。实际上,您是在说服编译器您的 char(字节)数组实际上是一个 icmphdr(我猜)结构。这意味着您可以将原始字节读入数组,然后像访问结构一样访问该数组的不同部分。
所以假设 icmphdr
定义为:
typedef struct
{
int sequence_number;
int data_size;
bool fragment;
} icmphdr;
这意味着您接下来要做:
read(socket_fd, packet, sizeof(icmphdr));
然后您可以执行以下操作:
int sequence= packet->sequence_number;
当然,如果你这样做,你必须非常小心结构包装。
关于c++ - 这个 icmphdr *pkt = (icmphdr *)packet; 是什么意思?意思是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626386/
打开了 2 个 TCP 连接:1.正常连接(同时实现echo server,client)&2.HTTP连接 在将 apache 作为服务器运行时使用 curl(已修改)实用程序打开 HTTP 连接,
在FreeBSD/Linux下,ICMPv4/v6 Redirect pkt可以被OS接收,但路由表不会相应改变? 我已经在/proc 下启用了必要的 sysctl 变量来接受重定向 pkt。 有什么
我想在 C 程序中打开omnipeek (.pkt) 文件。我该怎么做?转换为 .pcap 并通过 pcap 库打开会导致重要 radio 信息的丢失。我可以有一个离线读取 .pkt 文件的示例程序吗
所以我正在阅读帖子 here我遇到了这段代码 char packet[sizeof(icmphdr)]; memset(packet, 0, sizeof(packet)); icmphdr *pkt
我之前已经发布了查询,我正在重复同样的问题我想修改 kernel2.6 中内置的 igmpv3 (Linux)。-- 以便它从文件中读取一个值并适本地决定内部的保留 (res 1) 值主机发送的igm
升级到 dpdk 18.08 版本后出现以下编译错误。 error: ‘struct rte_mbuf’ has no member named ‘pkt’ m->pkt.data = ((cha
我在grails new SimpleDateFormat上遇到问题。 由于我正在通过API从其他服务器接收日期时间格式的数据,因此我尝试使用SimpleDateTimeFormat将字符串转换为da
我是一名优秀的程序员,十分优秀!