++ed by:

1 PAUSE user
2 non-PAUSE users.

Paul Evans


Net::Async::WebSocket::Client - connect to a WebSocket server using IO::Async


 use IO::Async::Loop;
 use Net::Async::WebSocket::Client;

 my $client = Net::Async::WebSocket::Client->new(
    on_text_frame => sub {
       my ( $self, $frame ) = @_;
       print $frame;

 my $loop = IO::Async::Loop->new;
 $loop->add( $client );

    url => "ws://$HOST:$PORT/",
 )->then( sub {
    $client->send_text_frame( "Hello, world!\n" );



This subclass of Net::Async::WebSocket::Protocol connects to a WebSocket server to establish a WebSocket connection for passing frames.


The following methods documented with a trailing call to ->get return Future instances.


   $self->connect( %params )->get

Connect to a WebSocket server. Takes the following named parameters:

url => STRING

URL to provide to WebSocket handshake. This is also used to infer the host and service name (port number) if not otherwise supplied.

The returned Future returns the client instance itself, making it useful in chaining constructors.

connect (void)

   $self->connect( %params )

When not returning a Future, the following additional parameters provide continuations:

on_connected => CODE

CODE reference to invoke when the handshaking is complete.


   $client->connect_handle( $handle, %params )->get

Sets the read and write handles to the IO reference given, then performs the initial handshake using the parameters given. These are as for connect.


Paul Evans <leonerd@leonerd.org.uk>