Operating System - OpenVMS
Showing results for 
Search instead for 
Did you mean: 

Creating a TCPIP service COM file

Brent Weaver_1
Occasional Advisor

Creating a TCPIP service COM file

Hey there. I am looking for guidance on how to create a TCP listening service in DCL. I am comfortable with the TCP/IP aspects, like adding the service etc. I need to know how to create a COM file that I can use that will get invoked upon socket connection. The goal of this is to create a NPRE (Nagios agent) for VMS. I know that there is already one, I just want to create one a bit more lightweight and easier to manage.

When I hit this socket I would like to be able to respond to certain commands and they in turn execute another command file. So for example I make a socket con and issue DISK_SPACE and it runs another COM file and returns info about disks.

Any thoughts on this are GREATLY appreciated!I did this once before and forgot how!
Honored Contributor

Re: Creating a TCPIP service COM file

If the goal is lightweight, fast, host-integrated, easily-managed and other such beneficialousness, then DCL may not be your best path forward. DCL is big, heavy, slow, comparatively inflexible, and the process operations are resource-intensive. Further, DCL has little integration with TCP/IP; it's somewhat better now that you can get at sys$net, but it's still a rough integration.

I'd probably start with a look at AgentX.


But if you do want to go hard after a DCL solution, have a look at auxiliary server (inetd) details here:

Brent Weaver_1
Occasional Advisor

Re: Creating a TCPIP service COM file

Thanks for the quick reply. Is AgentX just for snmp? My issues is that I have to go across VPN's and various other potentially slow connections. My past exp is that SNMP makes network eng grumpy and has issues w/ latency.

What am I missing?
Occasional Visitor

Re: Creating a TCPIP service COM file

mmm....useful info
Richard J Maher
Trusted Contributor

Re: Creating a TCPIP service COM file

Hi Brent,

Attached is a command file that will create an INETd (auxillary server) listener that will listen for requests on port 303.

This example deals specifically with inserting new employee records into the Rdb mf_personnel database (under the ACID-proof umbrella of a MTS/DTC coordinated 2PC transaction). While the functionality details may not be of particular interest to you, the generic sys$net handling and service configuration may provide a useful template. (And would be the same for DCL or 3GL)

Cheers Richard Maher