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