Sends data asynchronously.
No reply from the receiver, whether or not the operation was successful, is expected.
No reply from the receiver, whether or not the operation was successful, is expected.
- packet (GXSNMPPacket)
- SNMPPacket sent to the device.
- receiver (String)
- The name or the IP address of the Receiver (optional).
Reply data is received through OnReceived event.
Dim pack As GXSNMPPacket
set pack = CreateObject("GuruxSNMP.GXSNMPPacket")
pack.Command = GX_SNMP_COMMAND_GET_NEXT
GXSNMP1.Send pack, "localhost"
/// <summary>
///
/// </summary>
private void SendBtn_Click(System.Object eventSender, System.EventArgs eventArgs)
{
try
{
bWalk = false;
Gurux.SNMP.GXSNMPPacket Pack = new Gurux.SNMP.GXSNMPPacket();
Gurux.SNMP.GXSNMPDataItem Data = new Gurux.SNMP.GXSNMPDataItem();
if (CommandCB.Text == "Get")
{
Pack.Command = Gurux.SNMP.SnmpCommand.Get;
}
else if (CommandCB.Text == "GetNext")
{
Pack.Command = Gurux.SNMP.SnmpCommand.GetNext;
}
else if (CommandCB.Text == "Walk")
{
Pack.Command = Gurux.SNMP.SnmpCommand.GetNext;
bWalk = true;
//Send button is disbled until walk is finished.
SendBtn.Enabled = false;
}
else if (CommandCB.Text == "Bulk")
{
Pack.Command = Gurux.SNMP.SnmpCommand.Bulk;
Pack.MaxRepetitions = 20;
}
else if (CommandCB.Text == "Trap")
{
Pack.Command = Gurux.SNMP.SnmpCommand.Trap;
}
Data.OID = SendText.Text;
if (Data.OID.Length > 0)
{
Pack.DataItems.Add(Data);
}
if (SyncCB.CheckState == CheckState.Checked)
{
if (bWalk)
{
DoSyncWalk(Pack);
}
else
{
if (!gxsnmp1.SendSync(Pack, null, 10000))
{
throw new Exception("Timeout occurred.");
}
else
{
if (Pack.ErrorIndex != 0)
{
MessageBox.Show(Pack.ErrorStatusAsString);
return;
}
foreach (Gurux.SNMP.GXSNMPDataItem it in Pack.DataItems)
{
OIDList.Items.Add(it.OID + ": " + System.Convert.ToString(it.Data));
}
Label4.Text = OIDList.Items.Count.ToString();
}
}
}
else
{
//Send button is disbled until walk is finished.
if (bWalk)
{
SendBtn.Enabled = false;
}
gxsnmp1.Send(Pack, null);
}
return;
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
SendBtn.Enabled = true;
}
}
''' <summary>
''' Send SNMP message.
''' </summary>
Private Sub SendBtn_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles SendBtn.Click
Try
bWalk = False
Dim Pack As New Gurux.SNMP.GXSNMPPacket
Dim Data As New Gurux.SNMP.GXSNMPDataItem
If CommandCB.Text = "Get" Then
Pack.Command = Gurux.SNMP.SnmpCommand.Get
ElseIf CommandCB.Text = "GetNext" Then
Pack.Command = Gurux.SNMP.SnmpCommand.GetNext
ElseIf CommandCB.Text = "Walk" Then
Pack.Command = Gurux.SNMP.SnmpCommand.GetNext
bWalk = True
'Send button is disbled until walk is finished.
SendBtn.Enabled = False
ElseIf CommandCB.Text = "Bulk" Then
Pack.Command = Gurux.SNMP.SnmpCommand.Bulk
Pack.MaxRepetitions = 20
ElseIf CommandCB.Text = "Trap" Then
Pack.Command = Gurux.SNMP.SnmpCommand.Trap
End If
Data.OID = SendText.Text
If Data.OID.Length > 0 Then
Pack.DataItems.Add(Data)
End If
Dim pos As Short
If SyncCB.CheckState Then
If bWalk Then
DoSyncWalk(Pack)
Else
If Not Gxsnmp1.SendSync(Pack, Nothing, 10000) Then
Throw New Exception("Timeout occurred.")
Else
If Pack.ErrorIndex <> 0 Then
MessageBox.Show(Pack.ErrorStatusAsString)
End If
For pos = 0 To Pack.DataItems.Count - 1
OIDList.Items.Add(Pack.DataItems(pos).OID & ": " & CStr(Pack.DataItems(pos).Data))
Label4.Text = CStr(OIDList.Items.Count)
Next
End If
End If
Else
'Send button is disbled until walk is finished.
If bWalk Then
SendBtn.Enabled = False
End If
Gxsnmp1.Send(Pack, Nothing)
End If
Catch Ex As Exception
SendBtn.Enabled = True
MessageBox.Show(Ex.Message)
End Try
End Sub
Private Sub SendBtn_Click()
On Error GoTo GXErr
bWalk = False
Dim Pack As New GXSNMPPacket
Dim Data As New GXSNMPDataItem
If CommandCB.Text = "Get" Then
Pack.Command = GX_SNMP_COMMAND_GET
ElseIf CommandCB.Text = "GetNext" Then
Pack.Command = GX_SNMP_COMMAND_GET_NEXT
ElseIf CommandCB.Text = "Walk" Then
Pack.Command = GX_SNMP_COMMAND_GET_NEXT
bWalk = True
'Send button is disbled until walk is finished.
SendBtn.Enabled = False
ElseIf CommandCB.Text = "Bulk" Then
Pack.Command = GX_SNMP_COMMAND_BULK
Pack.MaxRepetitions = 20
ElseIf CommandCB.Text = "Trap" Then
Pack.Command = GX_SNMP_COMMAND_TRAP
End If
Data.OID = SendText.Text
If Len(Data.OID) > 0 Then
Pack.DataItems.Add Data
End If
Dim pos As Integer
If SyncCB.Value Then
If bWalk Then
DoSyncWalk Pack
Else
If Not GXSNMP1.SendSync(Pack, Empty, 10000) Then
Err.Raise -1, , "Timeout occurred."
Else
If Pack.ErrorIndex <> 0 Then
MsgBox Pack.ErrorStatusAsString
Exit Sub
End If
For pos = 0 To Pack.DataItems.Count - 1
OIDList.AddItem Pack.DataItems(pos).OID & ": " & CStr(Pack.DataItems(pos).Data)
Label4.Caption = OIDList.ListCount
Next
End If
End If
Else
'Send button is disbled until walk is finished.
If bWalk Then
SendBtn.Enabled = False
End If
GXSNMP1.Send Pack
End If
Exit Sub
GXErr:
SendBtn.Enabled = True
MsgBox Err.Description
End Sub
Assembly: Gurux.SNMP (Module: Gurux.SNMP) Version: 5.0.0.1