limit tcp clients to 6

This commit is contained in:
wellenvogel 2021-12-12 12:46:17 +01:00
parent de04e5443b
commit 2f1ea8e726
4 changed files with 23 additions and 5 deletions

View File

@ -151,15 +151,17 @@ GwSocketServer::GwSocketServer(const GwConfigHandler *config,GwLog *logger,int m
this->config=config; this->config=config;
this->logger=logger; this->logger=logger;
this->minId=minId; this->minId=minId;
maxClients=config->getInt(config->maxClients); maxClients=1;
allowReceive=config->getBool(config->readTCP); allowReceive=false;
} }
void GwSocketServer::begin(){ void GwSocketServer::begin(){
maxClients=config->getInt(config->maxClients);
allowReceive=config->getBool(config->readTCP);
clients=new gwClientPtr[maxClients]; clients=new gwClientPtr[maxClients];
for (int i=0;i<maxClients;i++){ for (int i=0;i<maxClients;i++){
clients[i]=gwClientPtr(new GwClient(wiFiClientPtr(NULL),logger,i,allowReceive)); clients[i]=gwClientPtr(new GwClient(wiFiClientPtr(NULL),logger,i,allowReceive));
} }
server=new WiFiServer(config->getInt(config->serverPort),maxClients); server=new WiFiServer(config->getInt(config->serverPort),maxClients+1);
server->begin(); server->begin();
logger->logString("Socket server created, port=%d", logger->logString("Socket server created, port=%d",
config->getInt(config->serverPort)); config->getInt(config->serverPort));

View File

@ -871,8 +871,10 @@ void loop() {
} }
} }
monitor.setTime(3); monitor.setTime(3);
//read sockets
socketServer.loop(true,false); socketServer.loop(true,false);
monitor.setTime(4); monitor.setTime(4);
//write sockets
socketServer.loop(false,true); socketServer.loop(false,true);
monitor.setTime(5); monitor.setTime(5);
usbSerial->loop(true); usbSerial->loop(true);

View File

@ -372,10 +372,10 @@
"name": "maxClients", "name": "maxClients",
"label": "max. TCP clients", "label": "max. TCP clients",
"type": "number", "type": "number",
"default": "10", "default": "6",
"check": "checkMinMax", "check": "checkMinMax",
"min": 0, "min": 0,
"max": 10, "max": 6,
"description": "the number of clients we allow to connect to us", "description": "the number of clients we allow to connect to us",
"category": "TCP port" "category": "TCP port"
}, },

View File

@ -92,6 +92,20 @@ function resetForm(ev) {
let el = document.querySelector("[name='" + k + "']"); let el = document.querySelector("[name='" + k + "']");
if (el) { if (el) {
let v = jsonData[k]; let v = jsonData[k];
let def=getConfigDefition(k);
if (def.check == 'checkMinMax'){
//simple migration if the current value is outside the range
//we even "hide" this from the user
v=parseFloat(v);
if (! isNaN(v)){
if (def.min !== undefined){
if (v < parseFloat(def.min)) v=parseFloat(def.min);
}
if (def.max !== undefined){
if (v > parseFloat(def.max)) v=parseFloat(def.max);
}
}
}
el.value = v; el.value = v;
el.setAttribute('data-loaded', v); el.setAttribute('data-loaded', v);
let changeEvent = new Event('change'); let changeEvent = new Event('change');