4

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

4

3 回答 3

5

C 和libpcap

于 2010-01-13T03:31:40.927 回答
3

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

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

于 2010-01-13T07:07:38.573 回答
1

它当然可以在 C 中完成。

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

于 2010-01-13T03:33:06.527 回答