ws_get_status - get client’s connection status#
-
enum ws_status ws_get_status(struct websockets *ws)#
Returns the WebSockets handle connection status.
- Parameters:
ws – the WebSockets handle created with ws_init()
- Returns:
a ws_status opcode
Wrappers#
-
ws_is_alive(ws) (ws_get_status(ws) != WS_DISCONNECTED)#
Check if a WebSockets connection is alive.
This will only return true if the connection status is different than WS_DISCONNECTED
- Parameters:
ws – the WebSockets handle created with ws_init()
- Returns:
true
if WebSockets status is different than WS_DISCONNECTED,false
otherwise.
-
ws_is_functional(ws) (ws_get_status(ws) == WS_CONNECTED)#
Check if WebSockets connection is functional.
This will only return true if the connection status is WS_CONNECTED
- Parameters:
ws – the WebSockets handle created with ws_init()
- Returns:
true
if is functional,false
otherwise
Example#
CURLM *mhandle = curl_multi_init();
struct websockets *ws = ws_init(&cbs, mhandle, NULL);
ws_set_url(ws, "wss://example.com", NULL);
/* run the event-loop */
ws_start(ws);
uint64_t tstamp;
bool is_running;
do {
is_running = ws_easy_run(ws, 5, &tstamp);
if (WS_CONNECTING == ws_get_status(ws)) {
/* do something */
}
} while (is_running);
ws_end(ws);
ws_cleanup(ws);
curl_multi_cleanup(mhandle);