zenith007 has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use IO::Socket; use strict; use warnings; unlink "/tmp/mysock"; our $server = IO::Socket::UNIX->new(LocalAddr => "/tmp/mysock", Type => SOCK_DGRAM, Listen => 5) or die $!; while (my $client = $server->accept()) { while (defined (my $buf = <$client>)) { print "$buf\n"; } } close ($server); exit(0);
When I run it, the ->new() call appears to work. No error codes and the debugger reports that $server is a socket. The /tmp/mysock file doesn't get created, though. Then the while($client = ... ) just falls through. It doesn't wait for the socket to say anything, it just skips to the close() statement and exits.
I've done this with INET sockets a number of times with no problems, but this is the first time I've tried UNIX sockets. If anyone has any ideas, I'd appreciate hearing about them. Thanks Russ JonesUpdate Thanks !! IT works
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: problem with UNIX Domain sockets
by gmargo (Hermit) on Dec 19, 2009 at 10:04 UTC | |
|
Re: problem with UNIX Domain sockets
by zwon (Abbot) on Dec 19, 2009 at 10:39 UTC | |
by zenith007 (Initiate) on Dec 21, 2009 at 12:41 UTC | |
by gmargo (Hermit) on Dec 21, 2009 at 13:51 UTC | |
|
Re: problem with UNIX Domain sockets (orig OP)
by ikegami (Patriarch) on Dec 21, 2009 at 14:38 UTC |