系统相关
首页 > 系统相关> > linux – 如何丢弃原始套接字中的传入数据包?

linux – 如何丢弃原始套接字中的传入数据包?

作者:互联网

我正在Linux下编写一个C/C++应用程序,它从原始套接字读取数据(用于ICMP数据包).问题:有没有办法丢弃仍然在套接字上排队的所有数据?

问题是睡了一会儿之后,插座上排队的数据我不感兴趣;所以最好只告诉套接字“忘记你现在缓冲的所有数据”,这样如果我进入select()/ recvfrom()循环,那么我只得到最近收到的数据.

有没有比先进入单独的poll()/ recvfrom()循环更好的方法?有些socket API调用可能吗?便携式,甚至?

标签:flush,raw-sockets,linux,sockets
来源: https://codeday.me/bug/20190724/1520681.html