a WebSocket Server and Client for Arduino based on RFC6455.
WEBSOCKETS_MAX_DATA_SIZE
define##### Limitations for Async #####
yield()
and/or delay()
. See this issue for more info and a potential workaround.version 2.0.0 and up is not compatible with AVR/ATmega, check ATmega branch.
version 2.3.0 has API changes for the ESP8266 BareSSL (may brakes existing code)
Arduino for AVR not supports std namespace of c++.
supported for:
This libary can run in Async TCP mode on the ESP.
The mode can be activated in the WebSockets.h
(see WEBSOCKETS_NETWORK_TYPE define).
ESPAsyncTCP libary is required.
begin
: Initiate connection sequence to the websocket host.
void begin(const char *host, uint16_t port, const char * url = "/", const char * protocol = "arduino");
void begin(String host, uint16_t port, String url = "/", String protocol = "arduino");
onEvent
: Callback to handle for websocket events
void onEvent(WebSocketClientEvent cbEvent);
WebSocketClientEvent
: Handler for websocket events
void (*WebSocketClientEvent)(WStype_t type, uint8_t * payload, size_t length)
Where WStype_t type
is defined as:
typedef enum {
WStype_ERROR,
WStype_DISCONNECTED,
WStype_CONNECTED,
WStype_TEXT,
WStype_BIN,
WStype_FRAGMENT_TEXT_START,
WStype_FRAGMENT_BIN_START,
WStype_FRAGMENT,
WStype_FRAGMENT_FIN,
WStype_PING,
WStype_PONG,
} WStype_t;
Submit issues to: https://github.com/Links2004/arduinoWebSockets/issues
The library is licensed under LGPLv2.1
libb64 written by Chris Venter. It is distributed under Public Domain see LICENSE.