Query: coro::socket
OS: debian
Section: 3pm
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Socket(3pm) User Contributed Perl Documentation Socket(3pm)NAMECoro::Socket - non-blocking socket-I/OSYNOPSISuse 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, );DESCRIPTIONThis module is an AnyEvent user, you need to make sure that you use and run a supported event loop. 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, especially the note about prefering method calls. IPV6 WARNING This module was written to imitate the IO::Socket::INET API, and derive from it. Since IO::Socket::INET does not support IPv6, this module does neither. Therefore it is not recommended to use Coro::Socket in new code. Instead, use AnyEvent::Socket and Coro::Handle, e.g.: use Coro; use Coro::Handle; use AnyEvent::Socket; # use tcp_connect from AnyEvent::Socket # and call Coro::Handle::unblock on it. tcp_connect "www.google.com", 80, Coro::rouse_cb; my $fh = unblock +(Coro::rouse_wait)[0]; # now we have a perfectly thread-safe socket handle in $fh print $fh "GET / HTTP/1.0 15 12 15 12"; local $/; print <$fh>; Using "AnyEvent::Socket::tcp_connect" gives you transparent IPv6, multi-homing, SRV-record etc. support. For listening sockets, use "AnyEvent::Socket::tcp_server". $fh = new Coro::Socket param => value, ... 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 for IO::Socket::INET (as ugly as I think they are). The parameters officially supported currently are: "ReuseAddr", "LocalPort", "LocalHost", "PeerPort", "PeerHost", "Listen", "Timeout", "SO_RCVBUF", "SO_SNDBUF". $fh = new Coro::Socket PeerHost => "localhost", PeerPort => 'finger';AUTHORMarc Lehmann <schmorp@schmorp.de> http://home.schmorp.de/ perl v5.14.2 2012-04-13 Socket(3pm)
Related Man Pages |
---|
io::socket::inet(3pm) - centos |
io::socket::inet5.18(3pm) - mojave |
coro::handle(3pm) - debian |
coro::lwp(3pm) - debian |
coro::socket(3pm) - debian |
Similar Topics in the Unix Linux Community |
---|
Using Cygwin, how do I make eclipse recognize C's Socket library? |
Socket programming |
Socket programming |
Socket Programming in Perl |
Socket Keep-Alive |