in reply to Unix Domain Sockets
Two problems:
By the way, IO::Socket::UNIX is a much cleaner interface.
Update: Working code:
Server:
#! /usr/bin/perl -w -T use strict; use IO::Socket::UNIX qw( SOCK_STREAM SOMAXCONN ); my $socket_path = '/tmp/wibble'; unlink($socket_path); my $listner = IO::Socket::UNIX->new( Type => SOCK_STREAM, Local => $socket_path, Listen => SOMAXCONN, ) or die("Can't create server socket: $!\n"); my $socket = $listner->accept() or die("Can't accept connection: $!\n"); chomp( my $line = <$socket> ); print qq{Client Sez "$line"\n}; print $socket "Same to ya, fella\n";
Client:
#!/usr/bin/perl -w -T use strict; use IO::Socket::UNIX qw( SOCK_STREAM ); my $socket_path = '/tmp/wibble'; my $socket = IO::Socket::UNIX->new( Type => SOCK_STREAM, Peer => $socket_path, ) or die("Can't connect to server: $!\n"); print $socket "Wibble\n"; chomp( my $line = <$socket> ); print qq{Server Sez "$line"\n};
Note that IO::Socket::UNIX turns on autoflushing on the socket for you.
Note that SOMAXCONN is silly if you only ever accept one connection.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Unix Domain Sockets
by pileofrogs (Priest) on Feb 10, 2009 at 19:34 UTC |