使用" struct sflt_filter"设置数据过滤器适用于TCP和UDP协议

时间:2014-04-24 05:40:08

标签: objective-c macos cocoa tcp udp

我使用struct sflt_filter作为kpi_socketfilter.h的一部分,为TCP或UDP协议单独设置过滤器,该协议正常工作。

但我想在同一个程序中同时使用TCP和UDP协议过滤器。

此行适用于个人通话 -

sflt_register(&sflt_filter_variable, PF_INET, SOCK_STREAM, IPPROTO_TCP);

我已经尝试了

  1. 两次注册单个“sflt_filter_variable”变量。

    sflt_register(&sflt_filter_variable, PF_INET, SOCK_STREAM, IPPROTO_TCP); sflt_register(&sflt_filter_variable, PF_INET, SOCK_DGRAM, IPPROTO_UDP);

  2. 创建另一个“struct sflt_filter”变量并按上述方式单独注册。

  3. 那么如何为TCP和UDP注册过滤器。 欢迎任何帮助。

    感谢。

1 个答案:

答案 0 :(得分:2)

得到答案,

必须将sflt_filter_variable.sf_handle变量值更改为另一个32位唯一值。

sflt_register(&sflt_filter_variable, PF_INET, SOCK_STREAM, IPPROTO_TCP);

sflt_filter_variable.sf_handle = 0x7a5a5f5d;      // **changed valu of sf_handle.**
sflt_register(&sflt_filter_variable, PF_INET, SOCK_DGRAM, IPPROTO_UDP);

Hear you can get registered sf_handle values

或者您现在可以使用自己的值。

Got At This Link refer this for more referance