mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-09 20:41:14 +00:00
http_server: Fix docs for ws server user implementation
Closes https://github.com/espressif/esp-idf/issues/7027
This commit is contained in:
@@ -8,20 +8,10 @@ See the `esp_https_server` component documentation for details.
|
||||
|
||||
Before using the example, open the project configuration menu (`idf.py menuconfig`) to configure Wi-Fi or Ethernet. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](../../README.md) for more details.
|
||||
|
||||
`httpd_ws_recv_frame` support two ways to get frame payload.
|
||||
* Static buffer -- Allocate maximum expected packet length (either statically or dynamically) and call `httpd_ws_recv_frame()` referencing this buffer and it's size. (Unnecessarily large buffers might cause memory waste)
|
||||
### Websocket support in `http_server`
|
||||
|
||||
```
|
||||
#define MAX_PAYLOAD_LEN 128
|
||||
uint8_t buf[MAX_PAYLOAD_LEN] = { 0 };
|
||||
httpd_ws_frame_t ws_pkt;
|
||||
ws_pkt.payload = buf;
|
||||
httpd_ws_recv_frame(req, &ws_pkt, MAX_PAYLOAD_LEN);
|
||||
```
|
||||
* Dynamic buffer -- Refer to the examples, which receive websocket data in these three steps:
|
||||
1) Call `httpd_ws_recv_frame()` with zero buffer size
|
||||
2) Allocate the size based on the received packet length
|
||||
3) Call `httpd_ws_recv_frame()` with the allocated buffer
|
||||
Please refer to the documentation of [Websocket server](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/protocols/esp_http_server.html#websocket-server) feature in the documentation,
|
||||
or to the description of using websocket handlers in httpd in the [simple ws echo](../../http_server/ws_echo_server/README.md#how-to-use-example) example.
|
||||
|
||||
## Certificates
|
||||
|
||||
|
Reference in New Issue
Block a user