<p>The ESP WebSocket client is an implementation of <aclass="reference external"href="https://tools.ietf.org/html/rfc6455">WebSocket protocol client</a> for ESP32</p>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">ws://echo.websocket.org</span></code>: WebSocket over TCP, default port 80</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">wss://echo.websocket.org</span></code>: WebSocket over SSL, default port 443</p></li>
<aclass="reference internal"href="#_CPPv429esp_websocket_client_config_t"title="esp_websocket_client_config_t"><codeclass="xref cpp cpp-type docutils literal notranslate"><spanclass="pre">esp_websocket_client_config_t</span></code></a>, the option defined by the URI will be
<p>If you want to verify the server, then you need to provide a certificate in PEM format, and provide to <codeclass="docutils literal notranslate"><spanclass="pre">cert_pem</span></code> in <codeclass="xref cpp cpp-type docutils literal notranslate"><spanclass="pre">websocket_client_config_t</span></code>. If no certficate is provided then the TLS connection will default to not requiring verification.</p>
<p>PEM certificate for this example could be extracted from an openssl <cite>s_client</cite> command connecting to websocket.org.
In case a host operating system has <cite>openssl</cite> and <cite>sed</cite> packages installed, one could execute the following command to download and save the root or intermediate root certificate to a file (Note for Windows users: Both Linux like environment or Windows native packages may be used).
<p>For more options on <aclass="reference internal"href="#_CPPv429esp_websocket_client_config_t"title="esp_websocket_client_config_t"><codeclass="xref cpp cpp-type docutils literal notranslate"><spanclass="pre">esp_websocket_client_config_t</span></code></a>, please refer to API reference below</p>
<li><p><cite>WEBSOCKET_EVENT_CONNECTED</cite>: The client has successfully established a connection to the server. The client is now ready to send and receive data. Contains no event data.</p></li>
<li><p><cite>WEBSOCKET_EVENT_DISCONNECTED</cite>: The client has aborted the connection due to the transport layer failing to read data, e.g. because the server is unavailable. Contains no event data.</p></li>
<li><p><cite>WEBSOCKET_EVENT_DATA</cite>: The client has successfully received and parsed a WebSocket frame. The event data contains a pointer to the payload data, the length of the payload data as well as the opcode of the received frame. A message may be fragmented into multiple events if the length exceeds the buffer size. This event will also be posted for non-payload frames, e.g. pong or connection close frames.</p></li>
<li><p><cite>WEBSOCKET_EVENT_ERROR</cite>: Not used in the current implementation of the client.</p></li>
</ul>
<p>If the client handle is needed in the event handler it can be accessed through the pointer passed to the event handler:</p>
<li><p>The client is able to request the use of a subprotocol from the server during the handshake, but does not do any subprotocol related checks on the response from the server.</p></li>
<h2>Application Example<aclass="headerlink"href="#application-example"title="Permalink to this headline"></a></h2>
<p>A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the <aclass="reference external"href="https://websocket.org">websocket.org</a> server can be found here: <aclass="reference external"href="https://github.com/espressif/esp-protocols/tree/1f91d24/examples/../examples">example </a>.</p>
<p>The WebSocket client supports sending data as a text data frame, which informs the application layer that the payload data is text data encoded as UTF-8. Example:</p>
<spanid="_CPPv325esp_websocket_client_initPK29esp_websocket_client_config_t"></span><spanid="_CPPv225esp_websocket_client_initPK29esp_websocket_client_config_t"></span><spanid="esp_websocket_client_init__esp_websocket_client_config_tCP"></span><spanclass="target"id="esp__websocket__client_8h_1a243bea9ad290aa71efa02d7fff90d15d"></span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_init</span></span></span><spanclass="sig-paren">(</span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><aclass="reference internal"href="#_CPPv429esp_websocket_client_config_t"title="esp_websocket_client_config_t"><spanclass="n"><spanclass="pre">esp_websocket_client_config_t</span></span></a><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">config</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv425esp_websocket_client_initPK29esp_websocket_client_config_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Start a Websocket session This function must be the first function to call, and it returns a esp_websocket_client_handle_t that you must use as input to other functions in the interface. This call MUST have a corresponding call to esp_websocket_client_destroy when the operation is complete. </p>
<spanid="_CPPv328esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc"></span><spanid="_CPPv228esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc"></span><spanid="esp_websocket_client_set_uri__esp_websocket_client_handle_t.cCP"></span><spanclass="target"id="esp__websocket__client_8h_1a50474c5aa08888672eb7c325ee5b0ac2"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_set_uri</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span>, <spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="n sig-param"><spanclass="pre">uri</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv428esp_websocket_client_set_uri29esp_websocket_client_handle_tPKc"title="Permalink to this definition"></a><br/></dt>
<dd><p>Set URL for client, when performing this behavior, the options in the URL will replace the old ones Must stop the WebSocket client before set URI if the client has been connected. </p>
<spanid="_CPPv326esp_websocket_client_start29esp_websocket_client_handle_t"></span><spanid="_CPPv226esp_websocket_client_start29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_start__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1a693a8aef5e81de4c26db82e398788d71"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_start</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv426esp_websocket_client_start29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv325esp_websocket_client_stop29esp_websocket_client_handle_t"></span><spanid="_CPPv225esp_websocket_client_stop29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_stop__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1a81a30e1ac0431cd4c93b78f58f7511df"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_stop</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv425esp_websocket_client_stop29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Stops the WebSocket connection without websocket closing handshake. </p>
<p>This API stops ws client and closes TCP connection directly without sending close frames. It is a good practice to close the connection in a clean way using esp_websocket_client_close().</p>
<p>Notes:<ulclass="simple">
<li><p>Cannot be called from the websocket event handler</p></li>
<spanid="_CPPv328esp_websocket_client_destroy29esp_websocket_client_handle_t"></span><spanid="_CPPv228esp_websocket_client_destroy29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_destroy__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1a23060c864a083defeb1e5c549c07e7f4"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_destroy</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv428esp_websocket_client_destroy29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Destroy the WebSocket connection and free all resources. This function must be the last function to call for an session. It is the opposite of the esp_websocket_client_init function and must be called with the same handle as input that a esp_websocket_client_init call returned. This might close all connections this handle has used. </p>
<p>Notes:<ulclass="simple">
<li><p>Cannot be called from the websocket event handler</p></li>
<spanid="_CPPv326esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t"></span><spanid="_CPPv226esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t"></span><spanid="esp_websocket_client_close__esp_websocket_client_handle_t.TickType_t"></span><spanclass="target"id="esp__websocket__client_8h_1a67f37da59a8da2f5a8fcad77d64924e3"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_close</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span>, <spanclass="n"><spanclass="pre">TickType_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">timeout</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv426esp_websocket_client_close29esp_websocket_client_handle_t10TickType_t"title="Permalink to this definition"></a><br/></dt>
<dd><p>Close the WebSocket connection in a clean way. </p>
<p>Sequence of clean close initiated by client:<ul>
<li><p>Client sends CLOSE frame</p></li>
<li><p>Client waits until server echos the CLOSE frame</p></li>
<li><p>Client waits until server closes the connection</p></li>
<li><p>Client is stopped the same way as by the <codeclass="docutils literal notranslate"><spanclass="pre">esp_websocket_client_stop()</span></code></p>
<p>Notes:<ulclass="simple">
<li><p>Cannot be called from the websocket event handler</p></li>
<spanid="_CPPv333esp_websocket_client_is_connected29esp_websocket_client_handle_t"></span><spanid="_CPPv233esp_websocket_client_is_connected29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_is_connected__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1ab669d31f755182eac55975558ce499c1"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_is_connected</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv433esp_websocket_client_is_connected29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv342esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t"></span><spanid="_CPPv242esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_get_ping_interval_sec__esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1ac8f96276df09f56af4b83675cd1487ff"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_get_ping_interval_sec</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv442esp_websocket_client_get_ping_interval_sec29esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv342esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t"></span><spanid="_CPPv242esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t"></span><spanid="esp_websocket_client_set_ping_interval_sec__esp_websocket_client_handle_t.s"></span><spanclass="target"id="esp__websocket__client_8h_1a72e61f91ed9d9424287f376284ffc9b3"></span><spanclass="n"><spanclass="pre">esp_err_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_set_ping_interval_sec</span></span></span><spanclass="sig-paren">(</span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">client</span></span>, <spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="n sig-param"><spanclass="pre">ping_interval_sec</span></span><spanclass="sig-paren">)</span><aclass="headerlink"href="#_CPPv442esp_websocket_client_set_ping_interval_sec29esp_websocket_client_handle_t6size_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv326esp_websocket_event_data_t"></span><spanid="_CPPv226esp_websocket_event_data_t"></span><spanid="esp_websocket_event_data_t"></span><spanclass="target"id="structesp__websocket__event__data__t"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_event_data_t</span></span></span><aclass="headerlink"href="#_CPPv426esp_websocket_event_data_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t8data_ptrE"></span><spanid="_CPPv2N26esp_websocket_event_data_t8data_ptrE"></span><spanid="esp_websocket_event_data_t::data_ptr__cCP"></span><spanclass="target"id="structesp__websocket__event__data__t_1affe2518fe3abc0cd5e791b58e4429759"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">data_ptr</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t8data_ptrE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t8data_lenE"></span><spanid="_CPPv2N26esp_websocket_event_data_t8data_lenE"></span><spanid="esp_websocket_event_data_t::data_len__i"></span><spanclass="target"id="structesp__websocket__event__data__t_1a92d78bddde51e93a0b73c3707603fc8d"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">data_len</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t8data_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t3finE"></span><spanid="_CPPv2N26esp_websocket_event_data_t3finE"></span><spanid="esp_websocket_event_data_t::fin__b"></span><spanclass="target"id="structesp__websocket__event__data__t_1a34e3831399dbc1d9ed526b63528eac29"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">fin</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t3finE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t7op_codeE"></span><spanid="_CPPv2N26esp_websocket_event_data_t7op_codeE"></span><spanid="esp_websocket_event_data_t::op_code__uint8_t"></span><spanclass="target"id="structesp__websocket__event__data__t_1aeba7476e8b18de266426a6d345fa530c"></span><spanclass="n"><spanclass="pre">uint8_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">op_code</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t7op_codeE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t6clientE"></span><spanid="_CPPv2N26esp_websocket_event_data_t6clientE"></span><spanid="esp_websocket_event_data_t::client__esp_websocket_client_handle_t"></span><spanclass="target"id="structesp__websocket__event__data__t_1a39accb4406300e6e2033148d69700484"></span><aclass="reference internal"href="#_CPPv429esp_websocket_client_handle_t"title="esp_websocket_client_handle_t"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">client</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t6clientE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t12user_contextE"></span><spanid="_CPPv2N26esp_websocket_event_data_t12user_contextE"></span><spanid="esp_websocket_event_data_t::user_context__voidP"></span><spanclass="target"id="structesp__websocket__event__data__t_1afb7e9bc8b0820f1930c01bc533956185"></span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">user_context</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t12user_contextE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t11payload_lenE"></span><spanid="_CPPv2N26esp_websocket_event_data_t11payload_lenE"></span><spanid="esp_websocket_event_data_t::payload_len__i"></span><spanclass="target"id="structesp__websocket__event__data__t_1a650c6104bb2be5656063a6a280c275bc"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">payload_len</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t11payload_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N26esp_websocket_event_data_t14payload_offsetE"></span><spanid="_CPPv2N26esp_websocket_event_data_t14payload_offsetE"></span><spanid="esp_websocket_event_data_t::payload_offset__i"></span><spanclass="target"id="structesp__websocket__event__data__t_1ad389aa8cd73d447415dc66322dc17cdc"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">payload_offset</span></span></span><aclass="headerlink"href="#_CPPv4N26esp_websocket_event_data_t14payload_offsetE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv329esp_websocket_client_config_t"></span><spanid="_CPPv229esp_websocket_client_config_t"></span><spanid="esp_websocket_client_config_t"></span><spanclass="target"id="structesp__websocket__client__config__t"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_config_t</span></span></span><aclass="headerlink"href="#_CPPv429esp_websocket_client_config_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t3uriE"></span><spanid="_CPPv2N29esp_websocket_client_config_t3uriE"></span><spanid="esp_websocket_client_config_t::uri__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a68a4aa23ee268e4ada68a48faeae818c"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">uri</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t3uriE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t4hostE"></span><spanid="_CPPv2N29esp_websocket_client_config_t4hostE"></span><spanid="esp_websocket_client_config_t::host__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a2cce5ac95180a538cf1aa3e859d6efce"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">host</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t4hostE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t4portE"></span><spanid="_CPPv2N29esp_websocket_client_config_t4portE"></span><spanid="esp_websocket_client_config_t::port__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a581c889096c480cc18d827025e1248b2"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">port</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t4portE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t8usernameE"></span><spanid="_CPPv2N29esp_websocket_client_config_t8usernameE"></span><spanid="esp_websocket_client_config_t::username__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a2b37727b2a79ffe0e4c7c3704ed2ef4e"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">username</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t8usernameE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t8passwordE"></span><spanid="_CPPv2N29esp_websocket_client_config_t8passwordE"></span><spanid="esp_websocket_client_config_t::password__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1abf0bc7dc56c85becbeda0445cc29cfd7"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">password</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t8passwordE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t4pathE"></span><spanid="_CPPv2N29esp_websocket_client_config_t4pathE"></span><spanid="esp_websocket_client_config_t::path__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a5f884f588890015196464cafb312a5fd"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">path</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t4pathE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t22disable_auto_reconnectE"></span><spanid="_CPPv2N29esp_websocket_client_config_t22disable_auto_reconnectE"></span><spanid="esp_websocket_client_config_t::disable_auto_reconnect__b"></span><spanclass="target"id="structesp__websocket__client__config__t_1a3363f6a6cfb1bfb21b5d2d6ac67979c2"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">disable_auto_reconnect</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t22disable_auto_reconnectE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t12user_contextE"></span><spanid="_CPPv2N29esp_websocket_client_config_t12user_contextE"></span><spanid="esp_websocket_client_config_t::user_context__voidP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a2c567522b23235eec225a3a41c55b27d"></span><spanclass="kt"><spanclass="pre">void</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">user_context</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t12user_contextE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t9task_prioE"></span><spanid="_CPPv2N29esp_websocket_client_config_t9task_prioE"></span><spanid="esp_websocket_client_config_t::task_prio__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a1aaadb1006a78077d8e4e1641fcfdebb"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">task_prio</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t9task_prioE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t10task_stackE"></span><spanid="_CPPv2N29esp_websocket_client_config_t10task_stackE"></span><spanid="esp_websocket_client_config_t::task_stack__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1aaa2eb851ef9ad2f21057c0548df14aa4"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">task_stack</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t10task_stackE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t11buffer_sizeE"></span><spanid="_CPPv2N29esp_websocket_client_config_t11buffer_sizeE"></span><spanid="esp_websocket_client_config_t::buffer_size__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a316b4f48ec9a46c49a59df08149cca80"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">buffer_size</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t11buffer_sizeE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t8cert_pemE"></span><spanid="_CPPv2N29esp_websocket_client_config_t8cert_pemE"></span><spanid="esp_websocket_client_config_t::cert_pem__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a1cb1d87bf1b412d25952f4f6ae7c4294"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">cert_pem</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t8cert_pemE"title="Permalink to this definition"></a><br/></dt>
<dd><p>Pointer to certificate data in PEM or DER format for server verify (with SSL), default is NULL, not required to verify the server. PEM-format must have a terminating NULL-character. DER-format requires the length to be passed in cert_len. </p>
<spanid="_CPPv3N29esp_websocket_client_config_t8cert_lenE"></span><spanid="_CPPv2N29esp_websocket_client_config_t8cert_lenE"></span><spanid="esp_websocket_client_config_t::cert_len__s"></span><spanclass="target"id="structesp__websocket__client__config__t_1a14bb0dfadac26b7d3c18ab0918fada8c"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">cert_len</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t8cert_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t11client_certE"></span><spanid="_CPPv2N29esp_websocket_client_config_t11client_certE"></span><spanid="esp_websocket_client_config_t::client_cert__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a68f0c9265aa02e226876932831003803"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">client_cert</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t11client_certE"title="Permalink to this definition"></a><br/></dt>
<dd><p>Pointer to certificate data in PEM or DER format for SSL mutual authentication, default is NULL, not required if mutual authentication is not needed. If it is not NULL, also <codeclass="docutils literal notranslate"><spanclass="pre">client_key</span></code> has to be provided. PEM-format must have a terminating NULL-character. DER-format requires the length to be passed in client_cert_len. </p>
<spanid="_CPPv3N29esp_websocket_client_config_t15client_cert_lenE"></span><spanid="_CPPv2N29esp_websocket_client_config_t15client_cert_lenE"></span><spanid="esp_websocket_client_config_t::client_cert_len__s"></span><spanclass="target"id="structesp__websocket__client__config__t_1a0d0f85fb986afc30c497c458d7f88e84"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">client_cert_len</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t15client_cert_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t10client_keyE"></span><spanid="_CPPv2N29esp_websocket_client_config_t10client_keyE"></span><spanid="esp_websocket_client_config_t::client_key__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1aca91a6cc5bab26106fa003acd5b1943b"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">client_key</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t10client_keyE"title="Permalink to this definition"></a><br/></dt>
<dd><p>Pointer to private key data in PEM or DER format for SSL mutual authentication, default is NULL, not required if mutual authentication is not needed. If it is not NULL, also <codeclass="docutils literal notranslate"><spanclass="pre">client_cert</span></code> has to be provided. PEM-format must have a terminating NULL-character. DER-format requires the length to be passed in client_key_len </p>
<spanid="_CPPv3N29esp_websocket_client_config_t14client_key_lenE"></span><spanid="_CPPv2N29esp_websocket_client_config_t14client_key_lenE"></span><spanid="esp_websocket_client_config_t::client_key_len__s"></span><spanclass="target"id="structesp__websocket__client__config__t_1a3bcc7890cc9caaf8af1ce3aa02df43ab"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">client_key_len</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t14client_key_lenE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t9transportE"></span><spanid="_CPPv2N29esp_websocket_client_config_t9transportE"></span><spanid="esp_websocket_client_config_t::transport__esp_websocket_transport_t"></span><spanclass="target"id="structesp__websocket__client__config__t_1a687429a288d44ff2941bb00b8b14ed55"></span><aclass="reference internal"href="#_CPPv425esp_websocket_transport_t"title="esp_websocket_transport_t"><spanclass="n"><spanclass="pre">esp_websocket_transport_t</span></span></a><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">transport</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t9transportE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t11subprotocolE"></span><spanid="_CPPv2N29esp_websocket_client_config_t11subprotocolE"></span><spanid="esp_websocket_client_config_t::subprotocol__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a40dd329adb08d96493e63fac7812034d"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">subprotocol</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t11subprotocolE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t10user_agentE"></span><spanid="_CPPv2N29esp_websocket_client_config_t10user_agentE"></span><spanid="esp_websocket_client_config_t::user_agent__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a54bb4948a7303100681ee315637933b0"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">user_agent</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t10user_agentE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t7headersE"></span><spanid="_CPPv2N29esp_websocket_client_config_t7headersE"></span><spanid="esp_websocket_client_config_t::headers__cCP"></span><spanclass="target"id="structesp__websocket__client__config__t_1ad1c6a18d8d634892c01e1ac8f26cc833"></span><spanclass="k"><spanclass="pre">const</span></span><spanclass="w"></span><spanclass="kt"><spanclass="pre">char</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">headers</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t7headersE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t20pingpong_timeout_secE"></span><spanid="_CPPv2N29esp_websocket_client_config_t20pingpong_timeout_secE"></span><spanid="esp_websocket_client_config_t::pingpong_timeout_sec__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a24733c24624c517da389db13bb7bba24"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">pingpong_timeout_sec</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t20pingpong_timeout_secE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t23disable_pingpong_disconE"></span><spanid="_CPPv2N29esp_websocket_client_config_t23disable_pingpong_disconE"></span><spanid="esp_websocket_client_config_t::disable_pingpong_discon__b"></span><spanclass="target"id="structesp__websocket__client__config__t_1ab999fe777e719bb619b10796fb41dde7"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">disable_pingpong_discon</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t23disable_pingpong_disconE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t19use_global_ca_storeE"></span><spanid="_CPPv2N29esp_websocket_client_config_t19use_global_ca_storeE"></span><spanid="esp_websocket_client_config_t::use_global_ca_store__b"></span><spanclass="target"id="structesp__websocket__client__config__t_1a4b811b30ac0acc5e1dfdd95394620a76"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">use_global_ca_store</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t19use_global_ca_storeE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t27skip_cert_common_name_checkE"></span><spanid="_CPPv2N29esp_websocket_client_config_t27skip_cert_common_name_checkE"></span><spanid="esp_websocket_client_config_t::skip_cert_common_name_check__b"></span><spanclass="target"id="structesp__websocket__client__config__t_1a659d5ff42a91bffb52c6930b98d98084"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">skip_cert_common_name_check</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t27skip_cert_common_name_checkE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t17keep_alive_enableE"></span><spanid="_CPPv2N29esp_websocket_client_config_t17keep_alive_enableE"></span><spanid="esp_websocket_client_config_t::keep_alive_enable__b"></span><spanclass="target"id="structesp__websocket__client__config__t_1a332985f575f97e78662b9f5ba7b863a2"></span><spanclass="kt"><spanclass="pre">bool</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">keep_alive_enable</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t17keep_alive_enableE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t15keep_alive_idleE"></span><spanid="_CPPv2N29esp_websocket_client_config_t15keep_alive_idleE"></span><spanid="esp_websocket_client_config_t::keep_alive_idle__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1af74803f5fe69582027dd6d793e4a2650"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">keep_alive_idle</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t15keep_alive_idleE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t19keep_alive_intervalE"></span><spanid="_CPPv2N29esp_websocket_client_config_t19keep_alive_intervalE"></span><spanid="esp_websocket_client_config_t::keep_alive_interval__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a849e11f479ba778bf6d86f5acbf93ee2"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">keep_alive_interval</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t19keep_alive_intervalE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t16keep_alive_countE"></span><spanid="_CPPv2N29esp_websocket_client_config_t16keep_alive_countE"></span><spanid="esp_websocket_client_config_t::keep_alive_count__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a7c541762557f38ae6162915db4c4f4df"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">keep_alive_count</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t16keep_alive_countE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t20reconnect_timeout_msE"></span><spanid="_CPPv2N29esp_websocket_client_config_t20reconnect_timeout_msE"></span><spanid="esp_websocket_client_config_t::reconnect_timeout_ms__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1a8b140e5beca1aa6dce98336fa04e5c59"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">reconnect_timeout_ms</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t20reconnect_timeout_msE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t18network_timeout_msE"></span><spanid="_CPPv2N29esp_websocket_client_config_t18network_timeout_msE"></span><spanid="esp_websocket_client_config_t::network_timeout_ms__i"></span><spanclass="target"id="structesp__websocket__client__config__t_1ab0b2a4367229ea86b6936545a2a7c6c1"></span><spanclass="kt"><spanclass="pre">int</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">network_timeout_ms</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t18network_timeout_msE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t17ping_interval_secE"></span><spanid="_CPPv2N29esp_websocket_client_config_t17ping_interval_secE"></span><spanid="esp_websocket_client_config_t::ping_interval_sec__s"></span><spanclass="target"id="structesp__websocket__client__config__t_1ad751840e34c2b8f2cf17d175f3b64d29"></span><spanclass="n"><spanclass="pre">size_t</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">ping_interval_sec</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t17ping_interval_secE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N29esp_websocket_client_config_t7if_nameE"></span><spanid="_CPPv2N29esp_websocket_client_config_t7if_nameE"></span><spanid="esp_websocket_client_config_t::if_name__ifreqP"></span><spanclass="target"id="structesp__websocket__client__config__t_1a095cfc11f5503376946ef8d98f395432"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">ifreq</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">if_name</span></span></span><aclass="headerlink"href="#_CPPv4N29esp_websocket_client_config_t7if_nameE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv329esp_websocket_client_handle_t"></span><spanid="_CPPv229esp_websocket_client_handle_t"></span><spanid="esp_websocket_client_handle_t"></span><spanclass="target"id="esp__websocket__client_8h_1a495fdc2516a29dc75c569f7bb96259a1"></span><spanclass="k"><spanclass="pre">typedef</span></span><spanclass="w"></span><spanclass="k"><spanclass="pre">struct</span></span><spanclass="w"></span><spanclass="n"><spanclass="pre">esp_websocket_client</span></span><spanclass="w"></span><spanclass="p"><spanclass="pre">*</span></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_client_handle_t</span></span></span><aclass="headerlink"href="#_CPPv429esp_websocket_client_handle_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv324esp_websocket_event_id_t"></span><spanid="_CPPv224esp_websocket_event_id_t"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_event_id_t</span></span></span><aclass="headerlink"href="#_CPPv424esp_websocket_event_id_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE"></span><spanid="_CPPv2N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a0345410f63b26740cd502910fd6775f1"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_ANY</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_ANYE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE"></span><spanid="_CPPv2N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a198ee2b8de3524370d880277122fd296"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_ERROR</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t21WEBSOCKET_EVENT_ERRORE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE"></span><spanid="_CPPv2N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a26e026f8b057d410dcec4cffc3145235"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_CONNECTED</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t25WEBSOCKET_EVENT_CONNECTEDE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE"></span><spanid="_CPPv2N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a6ffcb93198d0d9ebe5e958e61befa1c1"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_DISCONNECTED</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t28WEBSOCKET_EVENT_DISCONNECTEDE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE"></span><spanid="_CPPv2N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a17f330e93c8dbdb887254aff1193614d"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_DATA</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t20WEBSOCKET_EVENT_DATAE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE"></span><spanid="_CPPv2N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a678462f29ce6d0f39690c767280a88e5"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_CLOSED</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t22WEBSOCKET_EVENT_CLOSEDE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"></span><spanid="_CPPv2N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"></span><spanclass="target"id="esp__websocket__client_8h_1a781bbfb5f24162bd806d09cefe317b10a104fe520c71c532635d64e024e9a02cb"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_EVENT_MAX</span></span></span><aclass="headerlink"href="#_CPPv4N24esp_websocket_event_id_t19WEBSOCKET_EVENT_MAXE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv325esp_websocket_transport_t"></span><spanid="_CPPv225esp_websocket_transport_t"></span><spanclass="target"id="esp__websocket__client_8h_1aecb53723a9770b3584483ffc2d97ddc1"></span><spanclass="k"><spanclass="pre">enum</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">esp_websocket_transport_t</span></span></span><aclass="headerlink"href="#_CPPv425esp_websocket_transport_t"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE"></span><spanid="_CPPv2N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE"></span><spanclass="target"id="esp__websocket__client_8h_1aecb53723a9770b3584483ffc2d97ddc1a0cab7d9515e6876747d51822097b0616"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_TRANSPORT_UNKNOWN</span></span></span><aclass="headerlink"href="#_CPPv4N25esp_websocket_transport_t27WEBSOCKET_TRANSPORT_UNKNOWNE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE"></span><spanid="_CPPv2N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE"></span><spanclass="target"id="esp__websocket__client_8h_1aecb53723a9770b3584483ffc2d97ddc1a384db78e23ec0b0e5bc0dd108f3bffb7"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_TRANSPORT_OVER_TCP</span></span></span><aclass="headerlink"href="#_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_TCPE"title="Permalink to this definition"></a><br/></dt>
<spanid="_CPPv3N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE"></span><spanid="_CPPv2N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE"></span><spanclass="target"id="esp__websocket__client_8h_1aecb53723a9770b3584483ffc2d97ddc1a75247f6fb3e8c9381c8cd2fd70a84d2c"></span><spanclass="k"><spanclass="pre">enumerator</span></span><spanclass="w"></span><spanclass="sig-name descname"><spanclass="n"><spanclass="pre">WEBSOCKET_TRANSPORT_OVER_SSL</span></span></span><aclass="headerlink"href="#_CPPv4N25esp_websocket_transport_t28WEBSOCKET_TRANSPORT_OVER_SSLE"title="Permalink to this definition"></a><br/></dt>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/espressif/sphinx_idf_theme">theme</a> based on <ahref="https://github.com/readthedocs/sphinx_rtd_theme">Read the Docs Sphinx Theme</a>.