mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 22:51:41 +01:00 
			
		
		
		
	
		
			
	
	
		
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
		
		
			
		
	
	
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
|   | 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
 | ||
|  | -------------
 | ||
|  | 
 | ||
|  | .. include:: /_build/inc/esp_websocket_client.inc
 | ||
|  | 
 |