diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index b13ebb81e..e2813f1b3 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -3734,15 +3734,15 @@ string multiSlsDetector::setNetworkParameter(networkParameter p, string s){ switch (p) { case CLIENT_STREAMING_PORT: case CLIENT_STREAMING_SRC_IP: - prev_streaming = enableDataStreamingFromReceiver(); - enableDataStreamingFromReceiver(0); - enableDataStreamingToClient(0); + prev_streaming = enableDataStreamingToClient(); + if (enableDataStreamingFromReceiver(-1)) enableDataStreamingFromReceiver(0); + if (enableDataStreamingToClient(-1)) enableDataStreamingToClient(0); break; case RECEIVER_STREAMING_PORT: case RECEIVER_STREAMING_SRC_IP: prev_streaming = enableDataStreamingFromReceiver(); - enableDataStreamingFromReceiver(0); - enableDataStreamingToClient(0); + if (enableDataStreamingFromReceiver(-1)) enableDataStreamingFromReceiver(0); + if (enableDataStreamingToClient(-1)) enableDataStreamingToClient(0); break; default: break; } diff --git a/slsDetectorSoftware/slsDetector/slsDetector.cpp b/slsDetectorSoftware/slsDetector/slsDetector.cpp index 137e21f3e..ae44d9f5a 100644 --- a/slsDetectorSoftware/slsDetector/slsDetector.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetector.cpp @@ -6444,6 +6444,13 @@ string slsDetector::setReceiverStreamingIP(string sourceIP) { } } + // set it anyway, else it is lost + memset(thisDetector->receiver_zmqip, 0, MAX_STR_LENGTH); + strcpy(thisDetector->receiver_zmqip, arg); + // if zmqip is empty, update it + if (! strlen(thisDetector->zmqip)) + strcpy(thisDetector->zmqip, retval); + if(thisDetector->receiverOnlineFlag==ONLINE_FLAG){ #ifdef VERBOSE @@ -6453,12 +6460,9 @@ string slsDetector::setReceiverStreamingIP(string sourceIP) { ret=thisReceiver->sendString(fnum,retval,arg); disconnectData(); } - if(ret!=FAIL) { - memset(thisDetector->receiver_zmqip, 0, MAX_STR_LENGTH); - strcpy(thisDetector->receiver_zmqip, retval); - // if zmqip is empty, update it - if (! strlen(thisDetector->zmqip)) - strcpy(thisDetector->zmqip, retval); + if(ret==FAIL) { + setErrorMask((getErrorMask())|(COULDNOT_SET_NETWORK_PARAMETER)); + std::cout << "Warning: Could not set rx_zmqip" << std::endl; } if(ret==FORCE_UPDATE) updateReceiver();