]> git.proxmox.com Git - ceph.git/blame - ceph/src/civetweb/docs/api/mg_websocket_write.md
buildsys: switch source download to quincy
[ceph.git] / ceph / src / civetweb / docs / api / mg_websocket_write.md
CommitLineData
11fdf7f2
TL
1# Civetweb API Reference
2
3### `mg_websocket_write( conn, opcode, data, data_len );`
4
5### Parameters
6
7| Parameter | Type | Description |
8| :--- | :--- | :--- |
9|**`conn`**|`struct mg_connection *`|Connection on which the data must be written|
10|**`opcode`**|`int`|Opcode|
11|**`data`**|`const char *`|Data to be written to the client|
12|**`data_len`**|`size_t`|Length of the data|
13
14### Return Value
15
16| Type | Description |
17| :--- | :--- |
18|`int`|Number of bytes written or an error code|
19
20### Description
21
22The function `mg_websocket_write()` sends data to a websocket client wrapped in a websocket frame. The function issues calls to [`mg_lock_connection()`](mg_lock_connection.md) and [`mg_unlock_connection()`](mg_unlock_connection.md) to ensure that the transmission is not interrupted. Data corruption can otherwise happen if the application is proactively communicating and responding to a request simultaneously.
23
24The function is available only when Civetweb is compiled with the `-DUSE_WEBSOCKET` option.
25
26The function returns the number of bytes written, **0** when the connection has been closed and **-1** if an error occurred.
27
28### See Also
29
30* [`mg_lock_connection();`](mg_lock_connection.md)
31* [`mg_printf();`](mg_printf.md)
32* [`mg_unlock_connection();`](mg_unlock_connection.md)
33* [`mg_websocket_client_write();`](mg_websocket_client_write.md)
34* [`mg_write();`](mg_write.md)