C语言 发送到原始套接字

7xllpg7q  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(82)

sendto函数我们必须传递目标结构体sockaddr或sockaddr_in,但目的是什么?
如果我们使用原始Socket,我们会创建自己的头,这意味着我们将直接在头中指定地址,而不是在sockaddr_in结构体中。
这是否意味着我们在原始套接字上使用sendto是为了确定使用哪个接口?

8zzbczxx

8zzbczxx1#

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

相关问题