GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Mojo::IOLoop::Client(3) User Contributed Perl Documentation Mojo::IOLoop::Client(3)

Mojo::IOLoop::Client - Non-blocking TCP/IP and UNIX domain socket client

  use Mojo::IOLoop::Client;

  # Create socket connection
  my $client = Mojo::IOLoop::Client->new;
  $client->on(connect => sub ($client, $handle) {...});
  $client->on(error => sub ($client, $err) {...});
  $client->connect(address => 'example.com', port => 80);

  # Start reactor if necessary
  $client->reactor->start unless $client->reactor->is_running;

Mojo::IOLoop::Client opens TCP/IP and UNIX domain socket connections for Mojo::IOLoop.

Mojo::IOLoop::Client inherits all events from Mojo::EventEmitter and can emit the following new ones.

  $client->on(connect => sub ($client, $handle) {...});

Emitted once the connection is established.

  $client->on(error => sub ($client, $err) {...});

Emitted if an error occurs on the connection, fatal if unhandled.

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

  my $reactor = $client->reactor;
  $client     = $client->reactor(Mojo::Reactor::Poll->new);

Low-level event reactor, defaults to the "reactor" attribute value of the global Mojo::IOLoop singleton. Note that this attribute is weakened.

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

  my $bool = Mojo::IOLoop::Client->can_nnr;

True if Net::DNS::Native 0.15+ is installed and non-blocking name resolution support enabled.

  my $bool = Mojo::IOLoop::Client->can_socks;

True if IO::Socket::SOCKS 0.64+ is installed and SOCKS5 support enabled.

  $client->connect(address => '127.0.0.1', port => 3000);
  $client->connect({address => '127.0.0.1', port => 3000});

Open a socket connection to a remote host. Note that non-blocking name resolution depends on Net::DNS::Native (0.15+), SOCKS5 support on IO::Socket::Socks (0.64), and TLS support on IO::Socket::SSL (2.009+).

These options are currently available:

address
  address => 'mojolicious.org'
    

Address or host name of the peer to connect to, defaults to 127.0.0.1.

handle
  handle => $handle
    

Use an already prepared IO::Socket::IP object.

path
  path => '/tmp/myapp.sock'
    

Path of UNIX domain socket to connect to.

port
  port => 80
    

Port to connect to, defaults to 80 or 443 with "tls" option.

socket_options
  socket_options => {LocalAddr => '127.0.0.1'}
    

Additional options for IO::Socket::IP when opening new connections.

socks_address
  socks_address => '127.0.0.1'
    

Address or host name of SOCKS5 proxy server to use for connection.

socks_pass
  socks_pass => 'secr3t'
    

Password to use for SOCKS5 authentication.

socks_port
  socks_port => 9050
    

Port of SOCKS5 proxy server to use for connection.

socks_user
  socks_user => 'sri'
    

Username to use for SOCKS5 authentication.

timeout
  timeout => 15
    

Maximum amount of time in seconds establishing connection may take before getting canceled, defaults to 10.

tls
  tls => 1
    

Enable TLS.

tls_ca
  tls_ca => '/etc/tls/ca.crt'
    

Path to TLS certificate authority file.

tls_cert
  tls_cert => '/etc/tls/client.crt'
    

Path to the TLS certificate file.

tls_key
  tls_key => '/etc/tls/client.key'
    

Path to the TLS key file.

tls_options
  tls_options => {SSL_alpn_protocols => ['foo', 'bar'], SSL_verify_mode => 0x00}
    

Additional options for IO::Socket::SSL.

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
2021-12-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.