概述数据报套接字中的单播源地址过滤
我需要根据到达linux UDP套接字的数据报的源单播IPv4地址执行数据过滤。
当然,总是可以根据recvfrom提供的信息手动执行过滤,但是我想知道是否可以有另一种更智能/更高效的方法(如果可能,不使用libpcap)。
有任何想法吗?
在linux上调用fwrite()调用一个完整的磁盘是什么?
在windows上的* .lib中列出函数
索引巨大的文本文件
fclose()/ pclose()可能阻塞某些文件指针
fork + exec无需atfork处理程序
C# – 蒙面文本框的(如何摆脱其中的下划线)
提升库名称缺less版本标记
什么是#define name((LPCSTR)5)?
Visual Studio 2008中的string表的语言
将DWord的voID *表示转换为wstring
如果它是一个单一的来源,你需要允许,然后使用connect(2)和内核将为你做过滤。 作为奖励,连接的UDP套接字更有效率。 这个来源不适用于多个来源。
如前所述,NetFilter(linux防火墙)可以帮助你。
您也可以使用xinetd和tcpd的UDP选项来执行过滤。
你期望丢弃多少数据报? 如果它非常高,那么你可能想要检查你的应用程序设计(例如,使发送者不发送那么多的数据报将被丢弃)。 如果它不是很高,那么你真的不在意你花了多少努力丢弃它们。
假设丢弃一个数据包需要和运行时一样的处理时间, 如果丢弃1%的数据包,则只会花费1%的时间丢弃。 但是,实际上,丢弃可能比处理消息要容易得多。
总结
以上是内存溢出为你收集整理的数据报套接字中的单播源地址过滤全部内容,希望文章能够帮你解决数据报套接字中的单播源地址过滤所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容