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
