fixing little bugs. closing connection on error.

master
Steffen Pohle 2 years ago
parent 32f2c40c06
commit 32fec3f9a5

@ -1,3 +1,6 @@
2023-09-17:
- closing connection if an error occured.
2023-09-16:
- added message if a connection is closed.

@ -404,7 +404,7 @@ gboolean cb_thread_network_data_add (gpointer data) {
}
else {
text = text + " Registers: " + std::to_string (mbdata->regstart);
text = text + " Bytes: " + std::to_string (mbdata->regcnt);
text = text + " Cnt: " + std::to_string (mbdata->regcnt);
}
}
text = text + "\n";
@ -470,9 +470,6 @@ gboolean cb_thread_network_text_add (gpointer data) {
strftime (timetext, 255, "%H:%M:%S", curtime);
//
// build hex dump
//
//
//
text ="";

@ -261,16 +261,22 @@ void ModbusSrv::ServerThread() {
char *txt = (char*)malloc(255);
snprintf (txt, 255, "error on processing message\n");
gdk_threads_add_idle(cb_thread_network_text_add, txt);
delete clients[slot];
clients[slot] = NULL;
}
}
else if (mbindata->fc == 5 || mbindata->fc == 6) {
if (WorkerAndEncodeWriteSingle(mbindata, mboutdata)) {
clients[slot]->Write(mboutdata->buffer, mboutdata->bufferlen);
delete clients[slot];
clients[slot] = NULL;
}
else {
char *txt = (char*)malloc(255);
snprintf (txt, 255, "error on processing message\n");
gdk_threads_add_idle(cb_thread_network_text_add, txt);
delete clients[slot];
clients[slot] = NULL;
}
}
else if (mbindata->fc == 15 || mbindata->fc == 16) {
@ -281,6 +287,8 @@ void ModbusSrv::ServerThread() {
char *txt = (char*)malloc(255);
snprintf (txt, 255, "error on processing message\n");
gdk_threads_add_idle(cb_thread_network_text_add, txt);
delete clients[slot];
clients[slot] = NULL;
}
}
gdk_threads_add_idle(cb_thread_network_data_add, mboutdata);

Loading…
Cancel
Save