我必須編寫一個類,它使用SNMP從網絡設備請求信息。 首先要找出設備類型。 第二個 - 設備的民意調查。使用SNMP輪詢網絡設備的寫入類
我想編寫一個只需要IP地址的類,它將根據設備類型收集信息。
但我不明白如何以最好的方式做到這一點。
我不喜歡這樣,因爲有兩個SNMP類。
可能是一個簡單的代碼,它是如何在不同的應用程序中實現的。
現在我有這樣的模板:
class NetworkDevice
{
SNMP snmp;
GenericDevice gd;
....
public string GetObjectID()
{
return snmp.Get(mib).ToString();
}
public void Scan()
{
string obj_id = GetObjectID();
if(obj_id.StartsWith(".1.3.6.1.4.1.15")
gd = new DeviceKind_1(ip_addr);
if(obj_id.StartsWith(".1.3.6.1.4.1.181")
gd = new DeviceKind_2(ip_addr);
gd.Scan();
}
}
class GenericDevice
{
private SNMP snmp;
private DeviceInfo Info;
....
public void Scan()
{
}
}
class DeviceKind_1 : GenericDevice
{
....
public void override Scan()
{
DeviceInfo.DEVICE_SPECIAL_PARAM_1 = snmp.Get(mib);
....
}
....
}
class DeviceKind_2 : GenericDevice
{
....
public void override Scan()
{
DeviceInfo.DEVICE_SPECIAL_PARAM_1 = snmp.Get(mib);
....
}
....
}
*代碼被編輯*
我會推薦使用一個解決方案,如SharpSNMP庫 – Alex
我在SNMP類中使用它。 SNMP類是我的一個接口。 – txid