Coro::Socket - non-blocking socket-io
use Coro::Socket; # listen on an ipv4 socket my $socket = new Coro::Socket PeerHost => "localhost", PeerPort => 'finger'; # listen on any other type of socket my $socket = Coro::Socket->new_from_fh (IO::Socket::UNIX->new Local => "/tmp/socket", Type => SOCK_STREAM, );
This module implements socket-handles in a coroutine-compatible way, that is, other coroutines can run while reads or writes block on the handle. See Coro::Handle.
Create a new non-blocking tcp handle and connect to the given host and port. The parameter names and values are mostly the same as in IO::Socket::INET (as ugly as I think they are).
If the host is unreachable or otherwise cannot be connected to this method returns undef. On all other errors ot croak's.
Multihomed is always enabled.
$fh = new Coro::Socket PeerHost => "localhost", PeerPort => 'finger';
Do the same thing as the perl builtins or IO::Socket methods (but return true on EINPROGRESS). Remember that these must be method calls.
In scalar context, returns the newly accepted socket (or undef) and in list context return the ($fh, $peername) pair (or nothing).
Marc Lehmann <schmorp@schmorp.de> http://home.schmorp.de/
To install Coro, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Coro
CPAN shell
perl -MCPAN -e shell install Coro
For more information on module installation, please visit the detailed CPAN module installation guide.