From c78078ea10ce9b6839816197524a55f879e3874b Mon Sep 17 00:00:00 2001 From: Juraj Andrassy Date: Fri, 15 Sep 2023 09:51:47 +0200 Subject: [PATCH] AT server.available fix - don't return clients of other servers this was a major error - only return clients with data available it is how server.available should work - accept all waiting clients (up to max) because not all of them may have data available and we may want to server.print to all --- UNOR4USBBridge/cmds_wifi_netif.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/UNOR4USBBridge/cmds_wifi_netif.h b/UNOR4USBBridge/cmds_wifi_netif.h index 1bbbba1..658e4dd 100644 --- a/UNOR4USBBridge/cmds_wifi_netif.h +++ b/UNOR4USBBridge/cmds_wifi_netif.h @@ -488,8 +488,9 @@ void CAtHandler::add_cmds_wifi_netif() { for(int i = 0;iavailable(); + if(!serverClients[i].client) + break; serverClients[i].server = sock; - break; } } @@ -498,7 +499,9 @@ void CAtHandler::add_cmds_wifi_netif() { int end = last_server_client_sock; do { - if(serverClients[last_server_client_sock].client) { + if(serverClients[last_server_client_sock].client + && serverClients[last_server_client_sock].server == sock + && serverClients[last_server_client_sock].client.available() > 0) { client_sock = last_server_client_sock; break; }