|
Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
|
Websocket Client. More...
#include <WebsocketClient.h>
Public Member Functions | |
| WebsocketClient (HttpConnection *connection) | |
| HttpConnection * | getHttpConnection () |
| bool | connect (const Url &url, uint32_t sslOptions=0) |
| Connects websocket client to server. More... | |
| void | sendPing (const String &payload=nullptr) |
| Send websocket ping to server. More... | |
| void | sendPong (const String &payload=nullptr) |
| Send websocket ping to server. More... | |
| void | disconnect () SMING_DEPRECATED |
| Disconnects websocket client from server. More... | |
Protected Member Functions | |
| int | verifyKey (HttpConnection &connection, HttpResponse &response) |
| bool | bind (HttpRequest &request, HttpResponse &response) |
| Binds websocket connection to an http server connection. More... | |
| virtual void | send (const char *message, size_t length, ws_frame_type_t type=WS_FRAME_TEXT) |
| Sends a websocket message from a buffer. More... | |
| void | send (const String &message, ws_frame_type_t type=WS_FRAME_TEXT) |
| Sends websocket message from a String. More... | |
| void | sendString (const String &message) |
| Sends a string websocket message. More... | |
| void | sendBinary (const uint8_t *data, size_t length) |
| Sends a binary websocket message. More... | |
| void | close () |
| Closes a websocket connection (without closing the underlying http connection. More... | |
| void | reset () |
| Resets a websocket connection. More... | |
| void | setUserData (void *userData) |
| Attaches a user data to a websocket connection. More... | |
| void * | getUserData () |
| Retrieves user data attached. More... | |
| bool | operator== (const WebsocketConnection &rhs) const |
| Test if another connection refers to the same object. More... | |
| void | setConnectionHandler (WebsocketDelegate handler) |
| Sets the callback handler to be called after successful websocket connection. More... | |
| void | setMessageHandler (WebsocketMessageDelegate handler) |
| Sets the callback handler to be called after a websocket message is received. More... | |
| void | setBinaryHandler (WebsocketBinaryDelegate handler) |
| Sets the callback handler to be called after a binary websocket message is received. More... | |
| void | setDisconnectionHandler (WebsocketDelegate handler) |
| Sets the callback handler to be called before closing a websocket connection. More... | |
| void | activate () |
| Should be called after a websocket connection is established to activate the websocket parser and allow sending of websocket data. More... | |
| bool | onConnected () |
| Call this method when the websocket connection was (re)activated. More... | |
| HttpConnection * | getConnection () |
| Gets the underlying HTTP connection. More... | |
| void | setConnection (HttpConnection *connection, bool isClientConnection=true) |
| Sets the underlying (transport ) HTTP connection. More... | |
| WsConnectionState | getState () |
| Gets the state of the websocket connection. More... | |
| bool | processFrame (TcpClient &client, char *at, int size) |
| Callback handler to process a received TCP data frame. More... | |
| size_t | encodeFrame (ws_frame_type_t type, const char *inData, size_t inLength, char *outData, size_t outLength, bool useMask=true, bool isFin=true) |
| Encode user content into a valid websocket frame. More... | |
Static Protected Member Functions | |
| static void | broadcast (const char *message, size_t length, ws_frame_type_t type=WS_FRAME_TEXT) |
| Broadcasts a message to all active websocket connections. More... | |
| static void | broadcast (const String &message, ws_frame_type_t type=WS_FRAME_TEXT) |
| Broadcasts a message to all active websocket connections. More... | |
| static const WebsocketList & | getActiveWebsockets () |
| Obtain the list of active websockets. More... | |
| static int | staticOnDataBegin (void *userData, ws_frame_type_t type) |
| static int | staticOnDataPayload (void *userData, const char *at, size_t length) |
| static int | staticOnDataEnd (void *userData) |
| static int | staticOnControlBegin (void *userData, ws_frame_type_t type) |
| static int | staticOnControlPayload (void *userData, const char *, size_t length) |
| static int | staticOnControlEnd (void *userData) |
Protected Attributes | |
| WebsocketDelegate | wsConnect = nullptr |
| WebsocketMessageDelegate | wsMessage = nullptr |
| WebsocketBinaryDelegate | wsBinary = nullptr |
| WebsocketDelegate | wsDisconnect = nullptr |
| void * | userData = nullptr |
| WsConnectionState | state = eWSCS_Ready |
Websocket Client.
|
inherited |
Should be called after a websocket connection is established to activate the websocket parser and allow sending of websocket data.
|
inherited |
Binds websocket connection to an http server connection.
| request | |
| response |
| bool | true on success, false otherwise |
|
staticinherited |
Broadcasts a message to all active websocket connections.
| message | |
| length | |
| type |
|
inlinestaticinherited |
Broadcasts a message to all active websocket connections.
| message | |
| type |
|
inherited |
Closes a websocket connection (without closing the underlying http connection.
| bool WebsocketClient::connect | ( | const Url & | url, |
| uint32_t | sslOptions = 0 |
||
| ) |
Connects websocket client to server.
| url | Url address of websocket server |
| sslOptions | Specify the SSL options to be used when calling websocket server over SSL |
|
inline |
Disconnects websocket client from server.
close() instead
|
protectedinherited |
Encode user content into a valid websocket frame.
| type | |
| inData | |
| inLength | |
| outData | |
| outLength | |
| useMask | MUST be true for client connections |
| isFin | true if this is the final frame |
| size_t | Size of encoded frame |
|
inlinestaticinherited |
Obtain the list of active websockets.
| const | WebsocketList& |
|
inlineinherited |
Gets the underlying HTTP connection.
| HttpConnection* |
|
inlineinherited |
Gets the state of the websocket connection.
| WsConnectionState |
|
inlineinherited |
Retrieves user data attached.
| void* | The user data previously set by setUserData() |
|
inherited |
Call this method when the websocket connection was (re)activated.
| bool | true on success |
|
inlineinherited |
Test if another connection refers to the same object.
| rhs | The other WebsocketConnection to compare with |
| bool |
|
protectedinherited |
Callback handler to process a received TCP data frame.
| client | |
| at | |
| size |
| bool | true if data parsing successful |
|
inherited |
Resets a websocket connection.
|
virtualinherited |
Sends a websocket message from a buffer.
| message | |
| length | Quantity of data in message |
| type |
|
inlineinherited |
|
inlineinherited |
Sends a binary websocket message.
| data | |
| length |
|
inline |
Send websocket ping to server.
| String | payload - maximum 255 bytes |
| bool | true if the data can be send, false otherwise |
|
inline |
Send websocket ping to server.
| String& | payload - maximum 255 bytes |
| bool | true if the data can be send, false otherwise |
|
inlineinherited |
Sends a string websocket message.
| message |
|
inlineinherited |
Sets the callback handler to be called after a binary websocket message is received.
| handler |
|
inlineinherited |
Sets the underlying (transport ) HTTP connection.
| connection | the transport connection |
| isClientConnection | true when the passed connection is an http client conneciton |
|
inlineinherited |
Sets the callback handler to be called after successful websocket connection.
| handler |
|
inlineinherited |
Sets the callback handler to be called before closing a websocket connection.
| handler |
|
inlineinherited |
Sets the callback handler to be called after a websocket message is received.
| handler |
|
inlineinherited |
Attaches a user data to a websocket connection.
| userData |