Download ActiveSocket Network Communications Toolkit 4.1  (5094 KB - .exe file)
Download Manual  (505 KB - .htm file)
HTML Form SNMP Sample Source Code
ActiveSocket provides an easy-to-use development interface to a variety of IP protocols.
By using ActiveSocket, you can very easily create or enhance applications with network features.
ActiveSocket features the following: ICMP, HTTP and HTTPs with support for proxy servers and secure web sites, Telnet, NTP time protocol, RSH remote shell script interface, SNMP (Simple Network Management Protcol), SNMP Traps, Sockets (TCP and UDP, DNS, IP to Country lookup, WOL (Wake-On-LAN), and more.
SNMP can be well integrated into HTML environments.
This document describes how ActiveSocket's SNMP objects can be integrated into HTML projects.
ActiveSocket is compliant with SNMP v1 and SNMP v2c. ActiveSocket automatically detects which SNMP version is running on the remote agent.
The SDK supports different SNMP data types, including:
- String types (also called "octet strings");
- Integer types (16bit, 32bit, 64bit and unsigned integers);
- IP Address types;
- Timetick types;
- Counter types (32bit and 64bit counters);
- OID types (also called "Object ID's");
- Other, less frequently used datatypes.
The following operations are supported:
- Get - retrieve an object variable from the (remote) agent;
- GetNext - retrieve the next object variable from a table or list within an agent;
- Set - set values for object variables within an agent.
Step 1: Installation of ActiveSocket
When using HTML, there are two ways to install the ActiveSocket Toolkit on a client PC:
- Automatically using HTML code;
- Using the ActiveSocket Toolkit InstallShield installation.
Automatic installation using HTML code
You can install the ActiveSocket Toolkit automatically using the following HTML code on top of the HTML page:
<head>
<object codeBase="http://www.activexperts.com/files/activsocket/3.1/asocket.cab" classid="CLSID:4F986D6D-E04F-4BEE-B8C7-8252577CB282" lt;/object>
</head>
The ActiveSocket Toolkit will be installated automatically.
The user will be asked to confirm the installation, because the DLL is coming from an untrusted site (www.activexperts.com).
There are two ways to avoid prompting:
- Add the ActiveX/COM location to the user's trusted sites. You can manage trusted manually (by using the Internet Explorer), through a logon script (by appyling the registry change from the logon script) or by using Active Directory Group Policies;
- OR use a trusted location for the DLL. For instance your Intranet site, because most probably this site has already been added to the list of trusted sites for all users.
Manual installation using the ActiveSocket Toolkit installation procedure
On each client PC, download the ActiveSocket Toolkit from the ActiveXperts Download Site and start the installation.
The installation guides you through the installation process.
Step 2: Create a new webpage
Create a new HTML script using your favorite editor. You can simply use notepad.
However, a JavaScript editor is recommended, so you can browse through objects, objects properties and object functions.
Add the following HTML code to the header section of your HTML code:
<script type="text/javascript" >
</script>
You're now able to write a more advanced scripts to communicate using the ActiveSocket Toolkit.
Step 3: Create the ActiveSocket objects in JavaScript
To query an SNMP agent using JavaScript,you need to declare and create the following ActiveSocket object:
- SnmpManager; The SNMP manager which allows you to communicate with the SNMP agent;
To create the ActiveSocket objects, add the following lines of codes on top of your JavaScript code (directly after the script tag) :
var objSnmpManager = new ActiveXObject ( "ActiveXperts.SnmpManager" );
var objConstants = new ActiveXObject ( "ActiveXperts.ASConstants" );
Step 4: Execute an SNMP query on a remote SNMP agent
You can now query SNMP OID's.
The following VBScript code shows how to execute an SNMP query on a remote SNMP agent from an HTML form:
<html>
<head>
<title>ActiveSocket HTML/JavaScript Sample</title>
<object codeBase="http://www.activexperts.com/files/activsocket/cab/3.1/asocket.cab" classid="CLSID:4F986D6D-E04F-4BEE-B8C7-8252577CB282" </object>
<script type="text/javascript" >
var objSnmpManager = new ActiveXObject ( "ActiveXperts.SnmpManager" );
var objConstants = new ActiveXObject ( "ActiveXperts.ASConstants" );
function Init ()
{
objSnmpManager.Initialize ();
}
function UnInit ()
{
objSnmpManager.Shutdown ();
}
function Get ()
{
objSnmpManager.Open ( textSnmpAgent.value, textSnmpCommunity.value );
if ( objSnmpManager.LastError == 0 )
{
var objSnmpObject = objSnmpManager.Get ( textOid.value );
if ( objSnmpManager.LastError == 0 )
{
textValue.value = objSnmpObject.Value;
DisplayType ( objSnmpObject.Type );
}
}
textResult.value = objSnmpManager.LastError + " : " + objSnmpManager.GetErrorDescription ( objSnmpManager.LastError );
objSnmpManager.Close ();
}
function DisplayType (lType)
{
switch ( lType )
{
case objConstants.asSNMP_TYPE_INTEGER32: textType.value = "asSNMP_TYPE_INTEGER32"; break;
case objConstants.asSNMP_TYPE_BITS: textType.value = "asSNMP_TYPE_BITS"; break;
case objConstants.asSNMP_TYPE_OCTETSTRING: textType.value = "asSNMP_TYPE_OCTETSTRING"; break;
case objConstants.asSNMP_TYPE_NULL: textType.value = "asSNMP_TYPE_NULL"; break;
case objConstants.asSNMP_TYPE_OBJECTIDENTIFIER: textType.value = "asSNMP_TYPE_OBJECTIDENTIFIER"; break;
case objConstants.asSNMP_TYPE_SEQUENCE: textType.value = "asSNMP_TYPE_SEQUENCE"; break;
case objConstants.asSNMP_TYPE_IPADDRESS: textType.value = "asSNMP_TYPE_IPADDRESS"; break;
case objConstants.asSNMP_TYPE_COUNTER32: textType.value = "asSNMP_TYPE_COUNTER32"; break;
case objConstants.asSNMP_TYPE_GAUGE32: textType.value = "asSNMP_TYPE_GAUGE32"; break;
case objConstants.asSNMP_TYPE_TIMETICKS: textType.value = "asSNMP_TYPE_TIMETICKS"; break;
case objConstants.asSNMP_TYPE_OPAQUE: textType.value = "asSNMP_TYPE_OPAQUE"; break;
case objConstants.asSNMP_TYPE_COUNTER64: textType.value = "asSNMP_TYPE_COUNTER64"; break;
case objConstants.asSNMP_TYPE_UNSIGNED32: textType.value = "asSNMP_TYPE_UNSIGNED32"; break;
}
}
</script>
</head>
<body OnLoad="Init()" OnUnload="UnInit" >
<font face="sans-serif" size="2">
<hr size="1" color="#707070">
<b><font size="4">ActiveXperts ActiveSocket HTML/JavaScript Sample</font></b>
<br>
<br>
Get SNMP values from an SNMP agent.
<br>
<br>
<hr size="1" color="#707070">
<br>
<table border="0" bgcolor="#f0f0f0" ID="table1" >
<tr>
<td width="120" valign="top">SNMP Agent:</td>
<td width="450">
<input size="50" type="text" id="textSnmpAgent" value="DELL09" >
</select>
</td>
</tr>
<tr>
<td valign="top">SNMP Community:</td>
<td>
<input size="50" type="text" id="textSnmpCommunity" value="public" >
</td>
</tr>
<tr>
<td valign="top">Object ID:<br>
</td>
<td>
<input size="50" type="text" id="textOid" value="system.sysDescr.0" >
<br>
<br>
</td>
</tr>
<tr>
<td vAlign="top">Value:</td>
<td>
<input size="50" type="text"" id="textValue" value="" >
</td>
</tr>
<tr>
<td vAlign="top">Type:</td>
<td>
<input size="50" type="text"" id="textType" value="" >
</td>
</tr>
<tr>
<td vAlign="top">Result:</td>
<td>
<input size="50" type="text" id="textResult" value="" >
</td>
</tr>
<tr>
<td></td>
<td>
<input type="button" onclick="Get()" value="Get" style="width: 100px;" >
</td>
</tr>
</table>
<br>
<hr size="1" color="#707070">
</body>
</html>
There are many working samples included with the product.
You can also find them on the ActiveXperts FTP site: ftp.activexperts-labs.com/samples/asocket.
The ActiveSocket tool is a Network Communications ActiveX software component (SDK).
This control supports SNMP, SMTP, POP3, Telnet, TCP, NTP, RSH, HTTP, HTTPs, FTP, DNS, ICMP and more, and can be used by any Windows development platform,
including Visual Basic .NET, Visual CSharp .NET,
ASP .NET (VB,CS),
ASP,
Visual Basic,
Visual Studio/Visual C++,
Delphi,
PHP,
ColdFusion,
HTML,
VBScript and any other ActiveX/COM compliant platform. The ActiveSocket Toolkit is an ActiveXperts Software B.V. Product.
|