发送到原始套接字

问题描述 投票:0回答:1

sendto 函数我们必须传递目标 struct sockaddr 或 sockaddr_in 但目的是什么?

不是吗,如果我们使用原始Socket,我们会创建自己的标头,这意味着我们将直接在标头中指定地址,而不是在 sockaddr_in 结构中?

这是否意味着我们在原始套接字上使用sendto是为了确定使用哪个接口?

c sockets network-programming raw-sockets
1个回答
0
投票

原始 IP 套接字仅包含作为目标的网络层信息,即 IP 地址。为了在本地网络中传递数据包,还需要具有较低层的信息,即使用哪个网络接口进行发送、哪个 MAC 地址作为链路层的目标等。

sendto
中给出的目标 IP 地址用于确定这些信息。

© www.soinside.com 2019 - 2024. All rights reserved.