At 1:22 PM -0400 5/1/02, Donald Plugge \(Personal\) wrote:
>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 
>socket.pm and select.pm.  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?

You've looked at calling setsockopt() with SO_REUSADDR?


>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. 

I believe PerlTk works on VMS if you ever need a VMS GUI.

-- 
____________________________________________
Craig A. Berry                  
mailto:[EMAIL PROTECTED]

"Literary critics usually know what they're
talking about. Even if they're wrong."
        -- Perl creator Larry Wall

Reply via email to