develooper Front page | perl.vmsperl | Postings from May 2002

Socket timeout

Thread Next
Donald Plugge
May 1, 2002 10:17
Socket timeout
Message ID:
I'm doing some cross platform socket communications between MacPerl and VMSPerl.  Briefly, I run a script on the mac that sends an REXEC command to the VMS system.  The VMS command file check for the server process which run a perl server using and  If the server is non-existent, then the REXEC command runs a detached process to create it.  I have to setup a delay to give the server time to startup.  After that all is well.  The two systems talk back and forth using "accept" and "recv" methods.

If the server is already running the command process skips to the perl socket interface.  If not, it startups the server, then proceeds.

One trouble I'm having is related to the port timeout period.  If I have the client close its connection, then a new connection is no problem because the server is still running.  However, if the client shuts down the server, then attempts to start it up right away, I get a error:

"Could not establish server: IO::Socket:INET: address already in use"

Obviously, the socket hasn't timed out.  However, I don't know where I can set that timeout period.  Is that a setting in my TCP/IP Services interface on the VMS side or is it related to the select->can_read(timeout) in the server script?

In general, how can a view stats on the server port (in this case 2323)?  I've tried 

TCPIP> show service
TCPIP> show device_socket/port=2323

to no avail.  Any suggestions would be appreciated, as I have a nifty little communications routine with only minor problems.

Donald G Plugge

PS By the way, the MacPerl interface into the Mac GUI is really impressive.  The MacWindow and MacDialog make a nice interface into the VMS server (which has no real satisfactory GUI packages built-in).  But using the VMS as a server, a GUI is really unnecessary.  

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About