limit tcp clients to 6
This commit is contained in:
parent
de04e5443b
commit
2f1ea8e726
|
@ -151,15 +151,17 @@ GwSocketServer::GwSocketServer(const GwConfigHandler *config,GwLog *logger,int m
|
|||
this->config=config;
|
||||
this->logger=logger;
|
||||
this->minId=minId;
|
||||
maxClients=config->getInt(config->maxClients);
|
||||
allowReceive=config->getBool(config->readTCP);
|
||||
maxClients=1;
|
||||
allowReceive=false;
|
||||
}
|
||||
void GwSocketServer::begin(){
|
||||
maxClients=config->getInt(config->maxClients);
|
||||
allowReceive=config->getBool(config->readTCP);
|
||||
clients=new gwClientPtr[maxClients];
|
||||
for (int i=0;i<maxClients;i++){
|
||||
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();
|
||||
logger->logString("Socket server created, port=%d",
|
||||
config->getInt(config->serverPort));
|
||||
|
|
|
@ -871,8 +871,10 @@ void loop() {
|
|||
}
|
||||
}
|
||||
monitor.setTime(3);
|
||||
//read sockets
|
||||
socketServer.loop(true,false);
|
||||
monitor.setTime(4);
|
||||
//write sockets
|
||||
socketServer.loop(false,true);
|
||||
monitor.setTime(5);
|
||||
usbSerial->loop(true);
|
||||
|
|
|
@ -372,10 +372,10 @@
|
|||
"name": "maxClients",
|
||||
"label": "max. TCP clients",
|
||||
"type": "number",
|
||||
"default": "10",
|
||||
"default": "6",
|
||||
"check": "checkMinMax",
|
||||
"min": 0,
|
||||
"max": 10,
|
||||
"max": 6,
|
||||
"description": "the number of clients we allow to connect to us",
|
||||
"category": "TCP port"
|
||||
},
|
||||
|
|
14
web/index.js
14
web/index.js
|
@ -92,6 +92,20 @@ function resetForm(ev) {
|
|||
let el = document.querySelector("[name='" + k + "']");
|
||||
if (el) {
|
||||
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.setAttribute('data-loaded', v);
|
||||
let changeEvent = new Event('change');
|
||||
|
|
Loading…
Reference in New Issue