2010-12-18 19 views
0

私はlib SharpPCapを使用してパケットをキャプチャし、それらを解析してPacketArrivalEventHandler関数でflvビデオアドレスを探します。クラスの主要部分は、次のようである:SharpPCapの2番目のLivePCapDeviceが機能しません。

class addrdetector 
{ 
    private LivePCapDevice device; 
    private device_OnPacketArrival(object sender, CaptureEventArgs e) 
    { 
     /* some analysis and some output */ 
     if (match) 
     { 
      device.StopCapture(); 
      device.Close(); 
     } 
    } 
    public Analyse() 
    { 
     var devices = LivePcapDeviceList.Instance; 
     device = devices[2]; 
     device.OnPacketArrival += 
      new PacketArrivalEventHandler(device_OnPacketArrival); 
     device.Open(); 
     device.StartCapture(); 
    } 
} 

Iプログラムでaddrdectorの2つのインスタンスがある場合、最初のインスタンスが正しい出力を有するが、第二は、任意の出力を有していません。 2番目のパケットがパケットをキャプチャできないようです。
私は、同じメイン関数で2つのLivePCapDeviceのインスタンスをテストしており、正常に動作しています。彼らはまた、2つのEXE.sで動作することができます。しかし、私はので、なぜ彼らのプログラムでの紛争... おかげ〜

答えて

0

クローンSharpPcapソースを見つけると私は現時点では正確な例を参照することはできません例

で見ることができません私は開発用コンピュータから離れていますが、追加のLivePcapDeviceインスタンスを追加する方法の例があることは間違いありません。

これは不可能ではありませんが、解決策は直感的ではありません。私は使用している例が "CaptureMultipleFilters"の行に沿って何かと呼ばれていると思います。

幸運にも、できるだけ早く、この回答をより良いデータで更新します。

関連する問題