Visual Basic (Declaration) | |
---|---|
Public Overloads Function GetResponse( _ ByVal request As RequestMessage, _ ByVal hostNameOrAddress As String, _ ByVal port As Integer _ ) As ResponseMessage |
Visual Basic (Usage) | ![]() |
---|---|
Dim instance As ManagerSlave Dim request As RequestMessage Dim hostNameOrAddress As String Dim port As Integer Dim value As ResponseMessage value = instance.GetResponse(request, hostNameOrAddress, port) |
C# | |
---|---|
public ResponseMessage GetResponse( RequestMessage request, string hostNameOrAddress, int port ) |
Managed Extensions for C++ | |
---|---|
public: ResponseMessage* GetResponse( RequestMessage* request, string* hostNameOrAddress, int port ) |
C++/CLI | |
---|---|
public: ResponseMessage^ GetResponse( RequestMessage^ request, String^ hostNameOrAddress, int port ) |
Parameters
- request
- An instance of GetMessage, GetNextMessage, GetBulkMessage, SetMessage or InformMessage.
- hostNameOrAddress
- The IP Address in dot notation or hostname of the agent or manager.
- port
- The port to use.
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 has 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.
Agents normally listen on port 161, but can be configured to listen on other ports as well. If sending an InformMessage to another Manager, port 162 is often used (which is normally open for accepting Trap and Notification messages).
Target Platforms: Microsoft .NET Framework 2.0