Документация Perl 5

Mojo::Transaction::WebSocket


НАЗВАНИЕ

Mojo::Transaction::WebSocket - WebSocket Transaction Container

КРАТКИЙ ОБЗОР

    use Mojo::Transaction::WebSocket;

ОПИСАНИЕ

Mojo::Transaction::WebSocket is a container for WebSocket transactions as described in draft-ietf-hybi-thewebsocketprotocol-10. Note that this module is EXPERIMENTAL and might change without warning!

АТРИБУТЫ

Mojo::Transaction::WebSocket inherits all attributes from Mojo::Transaction and implements the following new ones.

handshake

    my $handshake = $ws->handshake;
    $ws           = $ws->handshake(Mojo::Transaction::HTTP->new);

The original handshake transaction, defaults to a Mojo::Transaction::HTTP object.

masked

  my $masked = $ws->masked;
  $ws        = $ws->masked(1);

Mask outgoing frames with XOR cipher and a random 32bit key.

max_websocket_size

  my $size = $ws->max_websocket_size;
  $ws      = $ws->max_websocket_size(1024);

Maximum WebSocket message size in bytes, defaults to 262144.

on_message

    my $cb = $ws->on_message;
    $ws    = $ws->on_message(sub {...});

Callback to be invoked for each decoded message.

    $ws->on_message(sub {
        my ($self, $message) = @_;
    });

МЕТОДЫ

Mojo::Transaction::WebSocket inherits all methods from Mojo::Transaction and implements the following new ones.

client_challenge

    my $success = $ws->client_challenge;

Check WebSocket handshake challenge, only used by client.

client_close

    $ws = $ws->client_close;

Connection got closed, only used by clients.

client_handshake

    $ws = $ws->client_handshake;

WebSocket handshake, only used by clients.

client_read

    $ws = $ws->client_read($data);

Read raw WebSocket data, only used by clients.

client_write

    my $chunk = $ws->client_write;

Raw WebSocket data to write, only used by clients.

connection

    my $connection = $ws->connection;

The connection this websocket is using.

finish

  $ws = $ws->finish;

Finish the WebSocket connection gracefully.

is_websocket

    my $is_websocket = $ws->is_websocket;

True.

local_address

    my $local_address = $ws->local_address;

The local address of this WebSocket.

local_port

    my $local_port = $ws->local_port;

The local port of this WebSocket.

remote_address

    my $remote_address = $ws->remote_address;

The remote address of this WebSocket.

remote_port

    my $remote_port = $ws->remote_port;

The remote port of this WebSocket.

req

    my $req = $ws->req;

The original handshake request.

res

    my $req = $ws->res;

The original handshake response.

resume

    $ws = $ws->resume;

Resume transaction.

send_message

  $ws->send_message('Hi there!');
  $ws->send_message('Hi there!', sub {...});

Send a message over the WebSocket, encoding and framing will be handled transparently.

server_handshake

    $ws = $ws->server_handshake;

WebSocket handshake, only used by servers.

server_read

    $ws = $ws->server_read($data);

Read raw WebSocket data, only used by servers.

server_write

    my $chunk = $ws->server_write;

Raw WebSocket data to write, only used by servers.

DEBUGGING

You can set the MOJO_WEBSOCKET_DEBUG environment variable to get some advanced diagnostics information printed to STDERR.

  MOJO_WEBSOCKET_DEBUG=1

СМ. ТАКЖЕ

Mojolicious, Mojolicious::Guides, http://mojolicio.us.