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->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));
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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"
|
||||||
},
|
},
|
||||||
|
|
14
web/index.js
14
web/index.js
|
@ -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');
|
||||||
|
|
Loading…
Reference in New Issue