【问题标题】:which language is better for packet capturing and processing哪种语言更适合数据包捕获和处理
【发布时间】:2010-01-13 03:30:28
【问题描述】:

我想写一个有 2 个线程的程序,一个线程连续从网络捕获数据包并每隔 t 秒将它们转储到缓冲区中,另一个线程连续读取该缓冲区并每隔 t 秒处理它.. 这可以吗在 C 中完成?还是 Java 会是更好的选择?

【问题讨论】:

  • 谢谢大家!我习惯于在 java 中使用线程并在 C 中使用 libpcap 进行数据包捕获。线程可以在 C 中像在 java 中一样容易地使用吗?网上有什么具体的信息可以帮到我吗..

标签: java c multithreading network-programming packet-capture


【解决方案1】:

C 和libpcap

【讨论】:

    【解决方案2】:

    这里的答案是著名的“libpcap”。只要有一个好的 libpcap 包装器可用,就可以使用你最喜欢的语言。

    所以选择你的语言,检查包装器的存在并继续。如果此语言没有包装器,请更改您的选择,或创建您自己的包装器

    【讨论】:

      【解决方案3】:

      当然可以在 C 中完成。

      在 Java 中执行此操作将取决于您是否有权访问 Java 的数据包捕获库(假设您的意思是要捕获任意数据包,而不仅仅是专门针对您的应用程序的数据包)。

      【讨论】:

      • 我所知道的每个“Java”数据包捕获库实际上都是 libpcap 的 JNI 包装器。
      • 使用 JNI 包装器并没有什么不好。我想在 java 中编写相同的代码要比在 C 中容易得多。
      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多