在C语言的Linux上使用SOCK_RAW时使用bind()有什么好处?

时间:2017-02-03 15:59:56

标签: linux sockets raw-sockets

在Linux中使用原始套接字直接通过线路发送和接收数据(想要跳过Linux TCP / IP堆栈),callin class TestSpec extends BetterSpec { "Test DAO" should { "work" in { val dao = daoContext.testDAO // test it, finally } } } 有什么好处吗?

通过将sockaddr结构传递给bind()sendto()调用,可以通过phsyical接口发送和接收数据,如下所示:

recvfrom()

可以指定此方法中的接口在进行int tx_int = sendto(sock_fd, frame_buffer, 1514, 0, (struct sockaddr*)&sockaddr_ll, sizeof(struct sockaddr_ll)); int rx_len = recvfrom(sock_fd, frame_buffer, 1514, MSG_DONTWAIT, NULL, NULL); 呼叫时进行传输,以及在进行sendto()呼叫时从哪个接口接收数据包。这对我来说很好,但我看到其他人在使用原始套接字时使用recvfrom()。不这样做会有一些重大的短缺吗?

0 个答案:

没有答案