WebSocket Client/Server
WebSocket client/server functions. More...
Modules | |
Types | |
WebSocket data types. | |
Functions | |
zos_result_t | zn_websocket_connect (zos_interface_t interface, const char *host, uint32_t *handle) |
Connect to a remote websocket server. More... | |
zos_result_t | zn_websocket_connect_with_config (const zos_websocket_config_t *config, uint32_t *handle) |
Connect to a remote websocket server with configuration. More... | |
zos_result_t | zn_websocket_get_info (uint32_t handle, char *host_buffer, uint8_t buffer_len, uint16_t *port) |
Return information about websocket stream. More... | |
zos_result_t | zn_websocket_read (uint32_t handle, void *data, uint32_t max_size, uint32_t *bytes_read) |
Read websocket stream data. More... | |
zos_result_t | zn_websocket_read_with_buffer (uint32_t handle, zos_buffer_t *buffer) |
Read websocket stream data into buffer. More... | |
zos_result_t | zn_websocket_write (uint32_t handle, const void *data, uint32_t size, zos_bool_t continue_frame) |
Write websocket stream data. More... | |
zos_result_t | zn_websocket_disconnect (uint32_t handle) |
Close websocket stream. More... | |
zos_result_t | zn_websocket_poll (uint32_t handle, uint32_t *bytes_available) |
Poll websocket stream for RX data. More... | |
zos_result_t | zn_websocket_client_read_frame (uint32_t handle, zos_websocket_frame_t *frame, uint32_t timeout) |
Read complete websocket frame. More... | |
void | zn_websocket_register_server_event_handlers (zos_stream_event_handler_t connect, zos_stream_event_handler_t disconnect, zos_stream_event_handler_t receive) |
Register websocket server event handlers. More... | |
void | zn_websocket_register_client_event_handlers (uint32_t handle, zos_stream_event_handler_t disconnect, zos_stream_event_handler_t receive) |
Register websocket client event handlers. More... | |
Detailed Description
WebSocket client/server functions.
Function Documentation
zos_result_t zn_websocket_client_read_frame | ( | uint32_t | handle, |
zos_websocket_frame_t * | frame, |
||
uint32_t | timeout |
||
) |
Read complete websocket frame.
- Examples:
- nxp/nfc3d/cloud_websocket.c.
zos_result_t zn_websocket_connect | ( | zos_interface_t | interface, |
const char * | host, |
||
uint32_t * | handle |
||
) |
Connect to a remote websocket server.
This opens a websocket client stream.
See ZentriOS Command API documentation: websocket_client.
- Parameters
-
interface
The network interface to open connect host
The remote websocket server's URL handle
The stream handle of the opened websocket client stream
- Returns
- zos_result_t result of api call
zos_result_t zn_websocket_connect_with_config | ( | const zos_websocket_config_t * | config, |
uint32_t * | handle |
||
) |
Connect to a remote websocket server with configuration.
See ZentriOS Command API documentation: websocket_client.
This does the same thing as zn_websocket_connect() but allows for additional configuration. See zos_websocket_config_t for optional configuration settings.
- Parameters
-
config
Websocket client configuration handle
The stream handle of the opened websocket client stream
- Returns
- zos_result_t result of api call
zos_result_t zn_websocket_disconnect | ( | uint32_t | handle | ) |
Close websocket stream.
See ZentriOS Command API documentation: stream_close.
- Parameters
-
[in] handle
Handle of stream to close
- Returns
- zos_result_t result of api call
- Examples:
- basic/websocket_client/websocket_client.c, and nxp/nfc3d/cloud_websocket.c.
zos_result_t zn_websocket_get_info | ( | uint32_t | handle, |
char * | host_buffer, |
||
uint8_t | buffer_len, |
||
uint16_t * | port |
||
) |
Return information about websocket stream.
See ZentriOS Command API documentation: stream_list.
Returns information about a websocket client or server stream.
- Parameters
-
handle
Stream handle of opened websocket stream host_buffer
String buffer to hold websocket host info buffer_len
Length of host_buffer buffer port
Pointer to hold local port of websocket stream
- Returns
- zos_result_t result of api call
zos_result_t zn_websocket_poll | ( | uint32_t | handle, |
uint32_t * | bytes_available |
||
) |
Poll websocket stream for RX data.
- Parameters
-
[in] handle
Handle of stream to poll [out] bytes_available
Pointer to hold number of bytes available to read
- Returns
- zos_result_t result of api call
- Examples:
- nxp/nfc3d/cloud_websocket.c.
zos_result_t zn_websocket_read | ( | uint32_t | handle, |
void * | data, |
||
uint32_t | max_size, |
||
uint32_t * | bytes_read |
||
) |
Read websocket stream data.
See ZentriOS Command API documentation: stream_read.
- Parameters
-
[in] handle
Stream handle returned by API call [out] data
Buffer to hold read data [in] max_size
Maximum amount of data to read [out] bytes_read
Pointer to hold actual amount of data read (set NULL if not used)
- Returns
- zos_result_t result of api call
zos_result_t zn_websocket_read_with_buffer | ( | uint32_t | handle, |
zos_buffer_t * | buffer |
||
) |
Read websocket stream data into buffer.
See zn_read_with_buffer() for more information.
- Parameters
-
handle
Stream handle buffer
Buffer to specify how much data to read, then return how much data was read with pointer to data
- Returns
- zos_result_t result of api call
void zn_websocket_register_client_event_handlers | ( | uint32_t | handle, |
zos_stream_event_handler_t | disconnect, |
||
zos_stream_event_handler_t | receive |
||
) |
Register websocket client event handlers.
The corresponding event handlers will be called on the given websocket clients event. See zn_websocket_connect() to open a websocket client.
- Note
- The event handlers execute in the Zap thread context
- Parameters
-
handle
Stream handle of websocket client stream (returned by zn_websocket_connect() ) disconnect
Websocket client disconnect event handler receive
Websocket client data received event handler
- Examples:
- basic/websocket_client/websocket_client.c, and nxp/nfc3d/cloud_websocket.c.
void zn_websocket_register_server_event_handlers | ( | zos_stream_event_handler_t | connect, |
zos_stream_event_handler_t | disconnect, |
||
zos_stream_event_handler_t | receive |
||
) |
Register websocket server event handlers.
The following event handler will be called on the corresponding websocket server events. Set to NULL to disable the event handler.
- Note
- The event handlers execute in the Zap thread context
- Parameters
-
connect
Websocket client connect event handler disconnect
Websocket client disconnect event handler receive
Websocket client data received event handler
- Examples:
- basic/websocket_server/websocket_server.c.
zos_result_t zn_websocket_write | ( | uint32_t | handle, |
const void * | data, |
||
uint32_t | size, |
||
zos_bool_t | continue_frame |
||
) |
Write websocket stream data.
See ZentriOS Command API documentation: stream_write.
- Parameters
-
[in] handle
Stream handle returned by API call [in] data
Data to write to stream [in] size
Size of data in bytes to write [in] continue_frame
If ZOS_TRUE then sends 'continued' websocket frame, ZOS_FALSE send 'final' websocket frame
- Returns
- zos_result_t result of api call