The Question is:
I'm porting some UNIX code to VMS and came across this problem. I'm getting the
user's IP address to identify the user machine. In VMS, I was able to get the
IP address of the user, at the prompt with the following code.
$ ERR = F$GETDVI("TT","TT_ACCPORNAM")
$ SHOW SYMBOL ERR
I suppose, I can use SYS$GETDVI in my program to achieve the same.
But, the real problem is when a user telnet into the VMS server. When I use the
above code, all I get is the name of the server and not the IP address. I
would like to get the IP address of the server, where the user is telneting,
instead of it's name.
Or else, if I get the name, how can I get the IP address from the server name ?
How can I achieve this ? Is there any sample code available ?
Thanks in advance
The Answer is :
You can use the available (and standard) socket calls to translate an IP
host name into an host IP address using DNS -- please see the appendix of
the TCP/IP Services programming documentation and see the socket appendix
of the Compaq C run-time library reference documentation for the APIs.
Also note that TCP/IP Services V5.1 has better support in this area than
Also note that telnet clients do not use any particular port as the
source for the IP connection -- the source port for an incoming telnet
connection can (and does) vary. The target (default) port for a telnet
connection arriving at a telnet server is (of course) fairly standard.