NAME
AnyEvent::WebSocket::Connection - WebSocket connection for AnyEvent
VERSION
version 0.30
SYNOPSIS
# send a message through the websocket...
$connection->send('a message');
# recieve message from the websocket...
$connection->on(each_message => sub {
# $connection is the same connection object
# $message isa AnyEvent::WebSocket::Message
my($connection, $message) = @_;
...
});
# handle a closed connection...
$connection->on(finish => sub {
# $connection is the same connection object
my($connection) = @_;
...
});
# close an opened connection
# (can do this either inside or outside of
# a callback)
$connection->close;
(See AnyEvent::WebSocket::Client or AnyEvent::WebSocket::Server on how to create a connection)
DESCRIPTION
This class represents a WebSocket connection with a remote server or a client.
If the connection object falls out of scope then the connection will be closed gracefully.
This class was created for a client to connect to a server via AnyEvent::WebSocket::Client, and was later extended to work on the server side via AnyEvent::WebSocket::Server. Once a WebSocket connection is established, the API for both client and server is identical.
ATTRIBUTES
handle
The underlying AnyEvent::Handle object used for the connection. WebSocket handshake MUST be already completed using this handle. You should not use the handle directly after creating AnyEvent::WebSocket::Connection object.
Usually only useful for creating server connections, see below.
masked
If set to true, it masks outgoing frames. The default is false.
METHODS
$connection->send($message)
Send a message to the other side. $message
may either be a string (in which case a text message will be sent), or an instance of AnyEvent::WebSocket::Message.
$connection->on($event => $cb)
Register a callback to a particular event.
For each event $connection
is the AnyEvent::WebSocket::Connection and and $message
is an AnyEvent::WebSocket::Message (if available).
each_message
$cb->($connection, $message)
Called each time a message is received from the WebSocket.
next_message
$cb->($connection, $message)
Called only for the next message received from the WebSocket.
finish
$cb->($connection)
Called when the connection is terminated
$connection->close
Close the connection.
SERVER CONNECTIONS
Although written originally to work with AnyEvent::WebSocket::Client, this class was designed to be used for either client or server WebSocket connections. For details, contact the author and/or take a look at the source for AnyEvent::WebSocket::Client and the examples that come with Protocol::WebSocket.
DEPRECATED METHODS
The methods in this section are deprecated and will be removed on or after 11 October 2015, at which point they will have been deprecated for two years. They should not be used for new code, and are only remain documented here to aid in understanding legacy code that use them.
$connection->on_each_message($cb)
Register a callback to be called on each subsequent message received. The message itself will be passed in as the only parameter to the callback. The message is a decoded text string.
$connection->on_next_message($cb)
Register a callback to be called the next message received. The message itself will be passed in as the only parameter to the callback. The message is a decoded text string.
$connection->on_finish($cb)
Register a callback to be called when the connection is closed.
SEE ALSO
AUTHOR
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Toshio Ito
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.