2010-01-13 68 views
2

我想編寫一個具有2個線程的程序,一個線程連續捕獲網絡數據包並每t秒將其轉儲到一個緩衝區中,另一個線程連續讀取此緩衝區並處理它每T秒..這可以在C完成?或者將Java作爲更好的選擇?哪種語言更適合數據包捕獲和處理

+0

謝謝大家! 我習慣於在java中使用線程,並在C中使用libpcap.Can進行數據包捕獲。線程在C中的使用與java中一樣易於使用?有沒有在網絡上的任何具體信息,可以幫助我.. – trinity 2010-01-13 13:44:48

回答

0

可以肯定C.完成

用Java做這將取決於你是否有機會捕獲的Java庫包(假設你的意思是你想捕捉任意數據包,而不只是專門指向您的應用程序的數據包)。

+0

我知道每個「Java」數據包捕獲庫實際上是一個圍繞libpcap的JNI包裝。 – 2010-01-13 03:35:24

+0

使用JNI包裝器沒什麼不好。我認爲在java中編寫相同的東西比在C中編碼要容易得多。 – 2010-01-13 04:15:19

1

這裏的答案是着名的「libpcap」。只要有一個好的libpcap包裝可用,就使用你最喜歡的語言。

所以挑你的語言,檢查包裝的存在和繼續。如果沒有這種語言的包裝,或者更改您的選擇,或創建自己的包裝

相關問題