mirror of
https://github.com/Links2004/arduinoWebSockets.git
synced 2025-07-12 06:56:30 +02:00
add disconnect functions
void disconnect(void); void disconnect(uint8_t num);
This commit is contained in:
@ -37,7 +37,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//#define DEBUG_WEBSOCKETS(...) Serial1.printf( __VA_ARGS__ );
|
||||
#define DEBUG_WEBSOCKETS(...) Serial1.printf( __VA_ARGS__ );
|
||||
|
||||
#ifndef DEBUG_WEBSOCKETS
|
||||
#define DEBUG_WEBSOCKETS(...)
|
||||
|
@ -63,12 +63,12 @@ void WebSocketsServer::begin(void) {
|
||||
_server->begin();
|
||||
}
|
||||
|
||||
/**
|
||||
* called in arduino loop
|
||||
*/
|
||||
void WebSocketsServer::loop(void) {
|
||||
|
||||
handleNewClients();
|
||||
|
||||
handleClientData();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -183,10 +183,37 @@ void WebSocketsServer::broadcastBIN(uint8_t * payload, size_t length) {
|
||||
}
|
||||
}
|
||||
|
||||
void WebSocketsServer::broadcastBIN(const uint8_t * payload, size_t length) {
|
||||
void WebSocketsServer::broadcastBIN(const uint8_t * payload, size_t length) {
|
||||
broadcastBIN((uint8_t *) payload, length);
|
||||
}
|
||||
|
||||
/**
|
||||
* disconnect all clients
|
||||
*/
|
||||
void WebSocketsServer::disconnect(void) {
|
||||
WSclient_t * client;
|
||||
for(uint8_t i = 0; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
|
||||
client = &_clients[i];
|
||||
if(clientIsConnected(client)) {
|
||||
WebSockets::clientDisconnect(client, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* disconnect one client
|
||||
* @param num
|
||||
*/
|
||||
void WebSocketsServer::disconnect(uint8_t num) {
|
||||
if(num >= WEBSOCKETS_SERVER_CLIENT_MAX) {
|
||||
return;
|
||||
}
|
||||
WSclient_t * client = &_clients[num];
|
||||
if(clientIsConnected(client)) {
|
||||
WebSockets::clientDisconnect(client, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
//#################################################################################
|
||||
//#################################################################################
|
||||
//#################################################################################
|
||||
@ -422,7 +449,7 @@ void WebSocketsServer::handleHeader(WSclient_t * client) {
|
||||
WebSockets::sendFrame(client, WSop_ping);
|
||||
|
||||
if(_cbEvent) {
|
||||
_cbEvent(client->num, WStype_CONNECTED, (uint8_t *)client->cUrl.c_str(), client->cUrl.length());
|
||||
_cbEvent(client->num, WStype_CONNECTED, (uint8_t *) client->cUrl.c_str(), client->cUrl.length());
|
||||
}
|
||||
|
||||
} else {
|
||||
|
@ -83,6 +83,9 @@ public:
|
||||
void broadcastBIN(uint8_t * payload, size_t length);
|
||||
void broadcastBIN(const uint8_t * payload, size_t length);
|
||||
|
||||
void disconnect(void);
|
||||
void disconnect(uint8_t num);
|
||||
|
||||
private:
|
||||
uint16_t _port;
|
||||
|
||||
|
Reference in New Issue
Block a user