我想编写一个包含2个线程的程序,一个线程连续捕获来自网络的数据包并每隔t秒将它们转储到缓冲区中,另一个线程连续读取此缓冲区并每隔t秒处理一次。这可以是用C完成?或者Java会是更好的选择吗?
答案 0 :(得分:4)
C和libpcap
答案 1 :(得分:1)
这里的答案是着名的“libpcap”。只要有一个好的libpcap包装器,就可以使用你最喜欢的语言。
所以选择你的语言,检查包装器的存在并继续。如果没有此语言的包装器,请更改您的选择,或创建自己的包装器
答案 2 :(得分:0)
当然可以在C中完成。
在Java中执行它取决于您是否可以访问Java的数据包捕获库(假设您想要捕获任意数据包,而不仅仅是专门针对您的应用程序的数据包)。