Visual Basic (Declaration) | |
---|---|
Public Overloads Function GetResponse( _ ByVal request As RequestMessage, _ ByVal hostNameOrAddress As String _ ) As ResponseMessage |
Visual Basic (Usage) | ![]() |
---|---|
Dim instance As ManagerSlave Dim request As RequestMessage Dim hostNameOrAddress As String Dim value As ResponseMessage value = instance.GetResponse(request, hostNameOrAddress) |
C# | |
---|---|
public ResponseMessage GetResponse( RequestMessage request, string hostNameOrAddress ) |
Managed Extensions for C++ | |
---|---|
public: ResponseMessage* GetResponse( RequestMessage* request, string* hostNameOrAddress ) |
C++/CLI | |
---|---|
public: ResponseMessage^ GetResponse( RequestMessage^ request, String^ hostNameOrAddress ) |
Parameters
- request
- An instance of GetMessage, GetNextMessage, GetBulkMessage or SetMessage. An InformMessage will normally be sent to a Manager on port 162.
- hostNameOrAddress
- The IP Address in dot notation or hostname of the agent.
Return Value
The ResponseMessage from the remote host.Exception | Description |
---|---|
System.Net.Sockets.SocketException | A problem was experienced using the Socket or the Socket.ReceiveTimeout period expired. |
Dart.Snmp.DecodingException | A problem was encountered decoding the Response. |
Dart.Snmp.SecurityException | A problem was encountered with the Security attributes of the Request or the Response. |
The following example demonstrates sending a Get request to an agent and receiving the response.
C# | ![]() |
---|---|
private void button1_Click(object sender, EventArgs e) { //Create and send request on a worker thread manager1.Start(manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact)); } private void manager1_SendGetRequest(Dart.Snmp.ManagerSlave slave, object state) { //Create Get Request GetMessage request = new GetMessage(); request.Community = "public"; request.Version = SnmpVersion.One; request.Variables.Add(state as Variable); //Send request and get response ResponseMessage response = slave.GetResponse(request, myAgentAddress); //Marshal message to the UI thread using the Message event manager1.Marshal(new ResponseMessage[] { response }, null); } private void manager1_Message(object sender, Dart.Snmp.MessageEventArgs e) { //Display info about the first variable in the response, and its value Variable var = e.Messages[0].Variables[0] as Variable; label1.Text = var.Definition.ToString() + var.Value.ToString(); } |
Visual Basic | ![]() |
---|---|
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) 'Create and send request on a worker thread manager1.Start(AddressOf manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact)) End Sub Private Sub manager1_SendGetRequest(ByVal slave As Dart.Snmp.ManagerSlave, ByVal state As Object) 'Create Get Request Dim request As GetMessage = New GetMessage() request.Community = "public" request.Version = SnmpVersion.One request.Variables.Add(CType(IIf(TypeOf state Is Variable, state, Nothing), Variable)) 'Send request and get response Dim response As ResponseMessage = slave.GetResponse(request, myAgentAddress) 'Marshal message to the UI thread using the Message event manager1.Marshal(New ResponseMessage() { response }, Nothing) End Sub Private Sub manager1_Message(ByVal sender As Object, ByVal e As Dart.Snmp.MessageEventArgs) 'Display info about the first variable in the response, and its value Dim var As Variable = CType(IIf(TypeOf e.Messages(0).Variables(0) Is Variable, e.Messages(0).Variables(0), Nothing), Variable) label1.Text = var.Definition.ToString() & var.Value.ToString() End Sub |
This method blocks and does not return until either a response from the agent is received or a socket timeout occurs.
Target Platforms: Microsoft .NET Framework 2.0