Qore WebSocketHandler Module Reference  1.5.3
WebSocketHandler::WebSocketConnection Class Reference

this class represents a connection to a websocket client More...

Public Member Methods

 connectionClosed ()
 This method is called when the connection is closed. More...
 
 constructor (WebSocketHandler handler)
 the constructor is called when a new connection is made by a websocket client More...
 
 flush ()
 Flush all output data. More...
 
 gotMessage (binary msg)
 This method is called when messages from the client are received. More...
 
 gotMessage (string msg)
 This method is called when messages from the client are received. More...
 
int gotRawMessage (hash< WsMsgInfo > msg)
 This method is called when a message is received. More...
 
*binary pollData ()
 This method is called to poll for messages from the client to send from the server. More...
 
*binary pollDataImmediate ()
 This method is called to poll for messages from the client to send from the server. More...
 
 registered ()
 Called when the connection has been registered in handler and accept sending messages. More...
 
 send (data msg)
 Pushes an unencoded message on the connection's message queue. More...
 
 send (data msg, int op, bool fin)
 Pushes an unencoded message on the connection's message queue. More...
 
 sendEncoded (binary msg)
 Pushes an already-encoded message on the connection's message queue.
 
 setSocket (Socket sock)
 Sets the socket used by the server for the connection.
 
 stop ()
 force closing socket related to connection
 

Public Attributes

WebSocketHandler handler
 The parent handler object.
 
bool stop_flag = False
 Stop connection flag.
 

Private Member Methods

Qore::Thread::Queue queue ()
 the Queue object stores messages to be sent to the server
 

Private Attributes

int tid = gettid()
 The TID of the I/O thread.
 

Private:Internal Attributes

Socket sock
 The socket used by the server for this connection.
 

Detailed Description

this class represents a connection to a websocket client

Receiving WebSocket Messages from Clients
When the WebSocketHandler class receives a message from the client, the WebSocketHandler class calls the WebSocketConnection::gotMessage() on the object that represents that connection.
Sending WebSocket Message to Clients
To send a message to a websocket client, call one of the following methods:

Member Function Documentation

◆ connectionClosed()

WebSocketHandler::WebSocketConnection::connectionClosed ( )

This method is called when the connection is closed.

Called by the WebSocketHandler

The implementation in this class is empty; implement this method in a subclass to provide custom behavior

◆ constructor()

WebSocketHandler::WebSocketConnection::constructor ( WebSocketHandler  handler)

the constructor is called when a new connection is made by a websocket client

Called from WebSocketHandler::getConnectionImpl(), which can be overridden in subclasses to allow a subclass of this class to be used as the connection object

◆ flush()

WebSocketHandler::WebSocketConnection::flush ( )

Flush all output data.

Since
WebSocketHandler 1.5.2

◆ gotMessage() [1/2]

WebSocketHandler::WebSocketConnection::gotMessage ( binary  msg)

This method is called when messages from the client are received.

Called by the WebSocketHandler

The implementation in this class is empty; implement this method in a subclass to provide custom behavior

◆ gotMessage() [2/2]

WebSocketHandler::WebSocketConnection::gotMessage ( string  msg)

This method is called when messages from the client are received.

Called by the WebSocketHandler

The implementation in this class is empty; implement this method in a subclass to provide custom behavior

◆ gotRawMessage()

int WebSocketHandler::WebSocketConnection::gotRawMessage ( hash< WsMsgInfo >  msg)

This method is called when a message is received.

Parameters
msgthe raw message information
Returns
see WSClientRawCallbackReturnCodes for values and meanings
Note
this base class always returns WSC_Process
Since
WebSocketHandler 1.5.2

◆ pollData()

*binary WebSocketHandler::WebSocketConnection::pollData ( )

This method is called to poll for messages from the client to send from the server.

Called by the WebSocketHandler

◆ pollDataImmediate()

*binary WebSocketHandler::WebSocketConnection::pollDataImmediate ( )

This method is called to poll for messages from the client to send from the server.

Called by the WebSocketHandler

◆ registered()

WebSocketHandler::WebSocketConnection::registered ( )

Called when the connection has been registered in handler and accept sending messages.

Can be used to send initial welcome message, for example; the default implementation does nothing

Since
WebSocketHandler 1.4

◆ send() [1/2]

WebSocketHandler::WebSocketConnection::send ( data  msg)

Pushes an unencoded message on the connection's message queue.

The message will be encoded with WebSocketUtil::ws_encode_message() before sending

◆ send() [2/2]

WebSocketHandler::WebSocketConnection::send ( data  msg,
int  op,
bool  fin 
)

Pushes an unencoded message on the connection's message queue.

The message will be encoded with WebSocketUtil::ws_encode_message() before sending