2010-02-03 3 views
1

Это мой первый опыт использования библиотеки SharpPcap.Проблема с SharpPcap

Я создал новый проект с VC# 2008, и я добавил SharpPcap в качестве ссылки на мой проект. Я размещаю образец кода, чтобы получить интерфейс моего компьютера, но я получаю эту ошибку:

Ошибка 1 Не удалось найти имя типа или пространства имен «PcapDeviceList» (вам не хватает указаний по использованию или ссылки на сборку?) C: \ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Pcap \ Pcap \ Form1.cs 28 13 Pcap

советую решить эту проблему.

вот мой код:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using SharpPcap; 
using SharpPcap.Packets; 
using SharpPcap.Protocols; 
using SharpPcap.Util; 


namespace Pcap 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 

      /* Retrieve the device list */ 
      PcapDeviceList devices = SharpPcap.GetAllDevices(); 

      /*If no device exists, print error */ 
      if (devices.Count < 1) 
      { 
       Console.WriteLine("No device found on this machine"); 
       return; 
      } 

      int i = 0; 

      /* Scan the list printing every entry */ 
      foreach (PcapDevice dev in devices) 
      { 
       /* Description */ 
       label1.Text = "{0}) {1}" + i + dev.PcapDescription +"\n"+ 

       /* Name */ 
       "\tName:\t{0}" + dev.PcapName+"\n"+ 
       /* IP Address */ 
       "\tIP Address: \t\t{0}"+ dev.PcapIpAddress+"\n"+ 
       /* Is Loopback */ 
       "\tLoopback: \t\t{0}"+ dev.PcapLoopback; 


       i++; 
      } 
     } 
    } 
} 
+0

FYI, примеры @ http://www.codeproject.com/KB/IP/sharppcap.aspx были недавно пересмотрены в соответствии с текущим API. –

ответ

5

Какую версию SharpPcap вы используете?

Я перемещаю небольшой рабочий проект с 2.1.1 по 2.4.1, а части библиотеки значительно изменились. Я боролся с этим сам немного назад.

LivePcapDeviceList devices = LivePcapDeviceList.Instance; 
    foreach (LivePcapDevice device in devices) 
    { 
     // Do stuff here... 
    } 
4

Извините, об изменениях API. Я все еще пытаюсь правильно использовать API. Начиная с версии 3.0 API значительно чище и должен быть немного более статичным. Если у вас возникли какие-либо проблемы на форуме разработчиков или sf-форумах, вы получите быстрый ответ.

Крис SharpPcap Сопровождающий/автор http://sharppcap.sf.net

-1

Pcap.Net Попробуйте использовать. Это чистая оболочка WinPcap в .NET.

+1

+1 Хотя это не очень хороший ответ, так как вопрос был другим, но он предлагает хороший альтернативный вариант с достойной лицензией. Лицензия действительно большая проблема при разработке коммерческих приложений. – Yash

Смежные вопросы