NAME
Net::WAMP::RawSocket
SYNOPSIS
Client:
my $rs = Net::WAMP::RawSocket::Client->new(
#required
io => IO::Framed::ReadWrite->new( $inet ),
#optional
max_pings => 10,
max_receive_length => 2**23, #default
);
#msgpack is also accepted
$rs->send_handshake(
serialization => 'json', #default
);
$rs->verify_handshake();
$rs->send_message('This is a message.);
my $msg_txt = $rs->get_next_message();
Server:
my $rs = Net::WAMP::RawSocket::Server->new(
#required
io => IO::Framed::ReadWrite->new( $inet ),
#optional
max_pings => 10,
max_receive_length => 2**23, #default
);
$rs->receive_and_answer_handshake();
$rs->send_message('This is a message.);
my $msg_txt = $rs->get_next_message();
DESCRIPTION
This module implements WAMP’s RawSocket protocol. It’s a simpler—and hopefully faster—protocol for speaking to a WAMP server when you have a raw TCP connection as opposed to a web browser.
Note that one of RawSocket’s limitations is a hard upper limit (16 MiB) on message size: if you want to send or receive single messages of over 16 MiB, you’ll need some other transport mechanism besides RawSocket.
GENERAL METHODS
CLASS->new( %OPTS )
Instantiates the relevant class. %OPTS are:
max_receive_length
As per the protocol specification, this must be a power of 2 from 512 (2**9) to 16,777,216 (2**24), inclusive.max_pings
The number of pings to allow unanswered before we give up on the connection.
OBJ->send_message( MSG_STRING )
Sends a regular message.
OBJ->get_next_message()
Returns the next message string, or undef if no message is available. This will also (silently) consume any PONG messages that may arrive.
OBJ->check_heartbeat()
Run this when your read timeout expires to send a PING message.
OBJ->get_serialization()
json
or msgpack
.
OBJ->get_max_send_length()
The maximum bytes that the connection’s peer is willing to receive in a single RawSocket frame.