Scroll to navigation

Mojo::IOLoop::Server(3pm) User Contributed Perl Documentation Mojo::IOLoop::Server(3pm)

NAME

Mojo::IOLoop::Server - Non-blocking TCP server

SYNOPSIS

  use Mojo::IOLoop::Server;
  # Create listen socket
  my $server = Mojo::IOLoop::Server->new;
  $server->on(accept => sub {
    my ($server, $handle) = @_;
    ...
  });
  $server->listen(port => 3000);
  # Start and stop accepting connections
  $server->start;
  $server->stop;

DESCRIPTION

Mojo::IOLoop::Server accepts TCP connections for Mojo::IOLoop.

EVENTS

Mojo::IOLoop::Server can emit the following events.

"accept"

  $server->on(accept => sub {
    my ($server, $handle) = @_;
    ...
  });
Emitted safely for each accepted connection.

ATTRIBUTES

Mojo::IOLoop::Server implements the following attributes.

"accepts"

  my $accepts = $server->accepts;
  $server     = $server->accepts(10);
Number of connections to accept at once, defaults to 10.

"reactor"

  my $reactor = $server->reactor;
  $server     = $server->reactor(Mojo::Reactor::Poll->new);
Low level event reactor, defaults to the "reactor" attribute value of the global Mojo::IOLoop singleton.

METHODS

Mojo::IOLoop::Server inherits all methods from Mojo::EventEmitter and implements the following new ones.

"listen"

  $server->listen(port => 3000);
Create a new listen socket. Note that TLS support depends on IO::Socket::SSL and IPv6 support on IO::Socket::INET6.
These options are currently available:
"address"
Local address to listen on, defaults to all.
"backlog"
Maximum backlog size, defaults to "SOMAXCONN".
"port"
Port to listen on.
"tls"
Enable TLS.
"tls_ca"
Path to TLS certificate authority file.
"tls_cert"
Path to the TLS cert file, defaults to a built-in test certificate.
"tls_key"
Path to the TLS key file, defaults to a built-in test key.

"generate_port"

  my $port = $server->generate_port;
Find a free TCP port, this is a utility function primarily used for tests.

"start"

  $server->start;
Start accepting connections.

"stop"

  $server->stop;
Stop accepting connections.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
2012-09-05 perl v5.14.2