gpt4 book ai didi

sockets - 是原始套接字数据报套接字吗?

转载 作者:行者123 更新时间:2023-12-04 20:11:07 25 4
gpt4 key购买 nike

对于非阻塞数据报套接字,如 UDP,当我在套接字上调用 write()/send() 时,write()/send() 或 read()/recv() 的每次调用只处理 1 个数据包。

我想知道像下面这样的原始套接字是否是数据报套接字?

int on = 1;
rawfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
setsockopt(IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));

最佳答案

这取决于您将包含在数据包中的 IP header 类型(TCP 或 UDP)。实际上,包含 UDP header 更容易,因为内核将管理一些 TCP 机制。

所以你必须在你的数据包中添加 UDP header ,然后它将是一个数据报套接字。

关于sockets - 是原始套接字数据报套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com