MCPcopy Create free account
hub / github.com/JoaoLopesF/RemoteDebug / clientDisconnect

Method clientDisconnect

src/utility/WebSocketsClient.cpp:349–396  ·  view source on GitHub ↗

* Disconnect an client * @param client WSclient_t * ptr to the client struct */

Source from the content-addressed store, hash-verified

347 * @param client WSclient_t * ptr to the client struct
348 */
349void WebSocketsClient::clientDisconnect(WSclient_t * client) {
350
351 bool event = false;
352
353#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32)
354 if(client->isSSL && client->ssl) {
355 if(client->ssl->connected()) {
356 client->ssl->flush();
357 client->ssl->stop();
358 }
359 event = true;
360 delete client->ssl;
361 client->ssl = NULL;
362 client->tcp = NULL;
363 }
364#endif
365
366 if(client->tcp) {
367 if(client->tcp->connected()) {
368#if (WEBSOCKETS_NETWORK_TYPE != NETWORK_ESP8266_ASYNC)
369 client->tcp->flush();
370#endif
371 client->tcp->stop();
372 }
373 event = true;
374#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC)
375 client->status = WSC_NOT_CONNECTED;
376#else
377 delete client->tcp;
378#endif
379 client->tcp = NULL;
380 }
381
382 client->cCode = 0;
383 client->cKey = "";
384 client->cAccept = "";
385 client->cVersion = 0;
386 client->cIsUpgrade = false;
387 client->cIsWebsocket = false;
388 client->cSessionId = "";
389
390 client->status = WSC_NOT_CONNECTED;
391
392 DEBUG_WEBSOCKETS("[WS-Client] client disconnected.\n");
393 if(event) {
394 runCbEvent(WStype_DISCONNECTED, NULL, 0);
395 }
396}
397
398/**
399 * get client state

Callers

nothing calls this directly

Calls 1

stopMethod · 0.45

Tested by

no test coverage detected