2019-06-20 15:37:40 +08:00
ESP WebSocket Client
====================
Overview
--------
The ESP WebSocket client is an implementation of `WebSocket protocol client <https://tools.ietf.org/html/rfc6455> `_ for ESP32
Features
--------
* supports WebSocket over TCP, SSL with mbedtls
* Easy to setup with URI
* Multiple instances (Multiple clients in one application)
Configuration
-------------
URI
^^^
- Supports `` ws `` , `` wss `` schemes
- WebSocket samples:
- `` ws://websocket.org `` : WebSocket over TCP, default port 80
- `` wss://websocket.org `` : WebSocket over SSL, default port 443
- Minimal configurations:
.. code :: c
const esp_websocket_client_config_t ws_cfg = {
. uri = " ws://websocket.org " ,
} ;
- If there are any options related to the URI in
`` esp_websocket_client_config_t `` , the option defined by the URI will be
overridden. Sample:
.. code :: c
const esp_websocket_client_config_t ws_cfg = {
. uri = " ws://websocket.org:123 " ,
. port = 4567 ,
} ;
//WebSocket client will connect to websocket.org using port 4567
SSL
^^^
- Get certificate from server, example: `` websocket.org ``
`` openssl s_client -showcerts -connect websocket.org:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >websocket_org.pem ``
- Configuration:
.. code :: cpp
const esp_websocket_client_config_t ws_cfg = {
. uri = " wss://websocket.org " ,
. cert_pem = ( const char * ) websocket_org_pem_start ,
} ;
For more options on `` esp_websocket_client_config_t `` , please refer to API reference below
Application Example
-------------------
Simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the `websocket.org <https://websocket.org> `_ Server: :example: `protocols/websocket` .
API Reference
-------------
2019-11-13 11:46:16 +08:00
.. include-build-file :: inc/esp_websocket_client.inc
2019-06-20 15:37:40 +08:00