mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 18:17:59 +02:00
removed online flags, apiversion in shm, ret for ok and fail, bind socket help in exception message (#43)
* removed online flag, removed rxronline flag, added useReceier flag that is set only when rxr hostname is set, removed setonline, setreceiveronline flag, removed ret for ok or fail, using exceptions for this, changed cannot bind socket printout * fixed python
This commit is contained in:
@ -298,49 +298,7 @@
|
||||
<string>Network</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrHostname">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>180</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Sets the Receiver Hostname, connects to it and gets the receiver mac address and eth. Sets some receiver parameters like file name, file dir, file index in receiver.
|
||||
#rx_hostname#</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>none</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Receiver UDP IP:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="spinControlPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -390,7 +348,62 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="4">
|
||||
<item row="0" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrHostname">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>180</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Sets the Receiver Hostname, connects to it and gets the receiver mac address and eth. Sets some receiver parameters like file name, file dir, file index in receiver.
|
||||
#rx_hostname#</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>none</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Receiver UDP IP:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector Control Port:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrUDPIP">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -419,7 +432,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="4">
|
||||
<item row="4" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrUDPMAC">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -448,26 +461,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lblOnline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>108</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector Online Status: </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="dispDetectorUDPMAC">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -496,7 +490,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<item row="2" column="4">
|
||||
<widget class="QSpinBox" name="spinRxrUDPPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -546,39 +540,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="dispOnline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>180</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Gets the detector online status
|
||||
#online#</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Offline</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<item row="1" column="4">
|
||||
<widget class="QSpinBox" name="spinRxrTCPPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -628,7 +590,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="lblIP_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -641,20 +603,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="lblRxrOnline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Receiver Online Status: </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<item row="6" column="1">
|
||||
<widget class="QLineEdit" name="dispZMQIP">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -683,7 +632,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<item row="5" column="1">
|
||||
<widget class="QSpinBox" name="spinZMQPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -733,7 +682,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="3">
|
||||
<item row="6" column="3">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -746,7 +695,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -759,7 +708,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QSpinBox" name="spinStopPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -809,7 +758,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -822,7 +771,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="4">
|
||||
<item row="5" column="4">
|
||||
<widget class="QSpinBox" name="spinRxrZMQPort">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -872,7 +821,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="4">
|
||||
<item row="6" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrZMQIP">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -901,7 +850,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -930,51 +879,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLineEdit" name="dispRxrOnline">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>180</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>28</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Gets the receiver online status
|
||||
#r_online#</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Offline</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Detector Control Port:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboDetector">
|
||||
<property name="sizePolicy">
|
||||
@ -997,7 +901,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="lblMAC">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -1029,7 +933,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<item row="5" column="3">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -1042,7 +946,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<item row="4" column="3">
|
||||
<widget class="QLabel" name="label_18">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -1055,7 +959,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="lblIP">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -1068,7 +972,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
@ -1081,7 +985,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="dispDetectorUDPIP">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -1504,7 +1408,6 @@ Exposure Time of a sub frame. Only for Eiger in 32 bit mode
|
||||
<tabstop>btnClearRoi</tabstop>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>comboDetector</tabstop>
|
||||
<tabstop>dispOnline</tabstop>
|
||||
<tabstop>spinControlPort</tabstop>
|
||||
<tabstop>spinStopPort</tabstop>
|
||||
<tabstop>dispDetectorUDPIP</tabstop>
|
||||
@ -1512,7 +1415,6 @@ Exposure Time of a sub frame. Only for Eiger in 32 bit mode
|
||||
<tabstop>spinZMQPort</tabstop>
|
||||
<tabstop>dispZMQIP</tabstop>
|
||||
<tabstop>dispRxrHostname</tabstop>
|
||||
<tabstop>dispRxrOnline</tabstop>
|
||||
<tabstop>spinRxrTCPPort</tabstop>
|
||||
<tabstop>spinRxrUDPPort</tabstop>
|
||||
<tabstop>dispRxrUDPIP</tabstop>
|
||||
|
@ -43,7 +43,6 @@ private:
|
||||
void Initialization();
|
||||
void PopulateDetectors();
|
||||
|
||||
void GetOnline();
|
||||
void GetControlPort();
|
||||
void GetStopPort();
|
||||
void GetDetectorUDPIP();
|
||||
@ -51,7 +50,6 @@ private:
|
||||
void GetCltZMQPort();
|
||||
void GetCltZMQIP();
|
||||
void GetRxrHostname();
|
||||
void GetReceiverOnline();
|
||||
void GetRxrTCPPort();
|
||||
void GetRxrUDPPort();
|
||||
void GetRxrUDPIP();
|
||||
@ -65,11 +63,6 @@ private:
|
||||
void GetSubDeadTime();
|
||||
|
||||
multiSlsDetector *myDet;
|
||||
/** Tool Tip */
|
||||
QString errOnlineTip;
|
||||
QString detOnlineTip;
|
||||
QString rxrOnlineTip;
|
||||
QPalette red;
|
||||
/** ROI */
|
||||
std::vector <QLabel*> lblFromX;
|
||||
std::vector <QSpinBox*> spinFromX;
|
||||
|
@ -24,14 +24,6 @@ qTabAdvanced::~qTabAdvanced() {
|
||||
}
|
||||
|
||||
void qTabAdvanced::SetupWidgetWindow() {
|
||||
// palette
|
||||
red = QPalette();
|
||||
red.setColor(QPalette::Active, QPalette::WindowText, Qt::red);
|
||||
detOnlineTip = dispOnline->toolTip();
|
||||
rxrOnlineTip = dispRxrOnline->toolTip();
|
||||
errOnlineTip = QString(
|
||||
"<nobr><br><br><font color=\"red\"><nobr>It is offline!</nobr></font>");
|
||||
|
||||
// enabling according to det type
|
||||
switch (myDet->getDetectorTypeAsEnum()) {
|
||||
case slsDetectorDefs::EIGER:
|
||||
@ -140,44 +132,6 @@ void qTabAdvanced::PopulateDetectors() {
|
||||
SLOT(SetDetector(int)));
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetOnline() {
|
||||
FILE_LOG(logDEBUG) << "Getting detector online status";
|
||||
|
||||
int moduleId = comboDetector->currentIndex();
|
||||
try {
|
||||
myDet->checkOnline(moduleId);
|
||||
|
||||
int ret = myDet->getOnlineFlag(moduleId);
|
||||
switch (ret) {
|
||||
case 1:
|
||||
dispOnline->setText("Online");
|
||||
lblOnline->setText("Detector Online Status: ");
|
||||
dispOnline->setToolTip(detOnlineTip);
|
||||
lblOnline->setToolTip(detOnlineTip);
|
||||
dispOnline->setPalette(lblHostname->palette());
|
||||
lblOnline->setPalette(lblHostname->palette());
|
||||
break;
|
||||
default:
|
||||
dispOnline->setText("Offline");
|
||||
lblOnline->setText("Detector Online Status:* ");
|
||||
dispOnline->setToolTip(detOnlineTip + errOnlineTip);
|
||||
lblOnline->setToolTip(detOnlineTip + errOnlineTip);
|
||||
dispOnline->setPalette(red);
|
||||
lblOnline->setPalette(red);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// ignore if checkonline throws socket exception, else display it
|
||||
catch (const sls::SocketError &e) {
|
||||
; // do nothing as it might just be offline
|
||||
}
|
||||
// display any other exception
|
||||
catch (const std::exception &e) {
|
||||
qDefs::ExceptionMessage("Could not get detector online status",
|
||||
e.what(), "qTabAdvanced::GetOnline");
|
||||
}
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetControlPort() {
|
||||
FILE_LOG(logDEBUG) << "Getting control port ";
|
||||
disconnect(spinControlPort, SIGNAL(valueChanged(int)), this,
|
||||
@ -276,44 +230,6 @@ void qTabAdvanced::GetRxrHostname() {
|
||||
SLOT(SetRxrHostname()));
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetReceiverOnline() {
|
||||
FILE_LOG(logDEBUG) << "Getting Receiver online status";
|
||||
|
||||
int moduleId = comboDetector->currentIndex();
|
||||
try {
|
||||
myDet->checkReceiverOnline(moduleId);
|
||||
|
||||
int ret = myDet->getReceiverOnlineFlag(moduleId);
|
||||
switch (ret) {
|
||||
case 1:
|
||||
dispRxrOnline->setText("Online");
|
||||
lblRxrOnline->setText("Receiver Online Status: ");
|
||||
dispRxrOnline->setToolTip(rxrOnlineTip);
|
||||
lblRxrOnline->setToolTip(rxrOnlineTip);
|
||||
dispRxrOnline->setPalette(lblHostname->palette());
|
||||
lblRxrOnline->setPalette(lblHostname->palette());
|
||||
break;
|
||||
default:
|
||||
dispRxrOnline->setText("Offline");
|
||||
lblRxrOnline->setText("Receiver Online Status:* ");
|
||||
dispRxrOnline->setToolTip(rxrOnlineTip + errOnlineTip);
|
||||
lblRxrOnline->setToolTip(rxrOnlineTip + errOnlineTip);
|
||||
dispRxrOnline->setPalette(red);
|
||||
lblRxrOnline->setPalette(red);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// ignore if checkReceiverOnline throws socket exception
|
||||
catch (const sls::SocketError &e) {
|
||||
;
|
||||
}
|
||||
// display any other exception
|
||||
catch (const std::exception &e) {
|
||||
qDefs::ExceptionMessage("Could not check receiver online status",
|
||||
e.what(), "qTabAdvanced::GetReceiverOnline");
|
||||
}
|
||||
}
|
||||
|
||||
void qTabAdvanced::GetRxrTCPPort() {
|
||||
FILE_LOG(logDEBUG) << "Getting Receiver TCP port";
|
||||
disconnect(spinRxrTCPPort, SIGNAL(valueChanged(int)), this,
|
||||
@ -402,7 +318,6 @@ void qTabAdvanced::SetDetector(int index) {
|
||||
FILE_LOG(logDEBUG) << "Set Detector: "
|
||||
<< comboDetector->currentText().toAscii().data();
|
||||
|
||||
GetOnline();
|
||||
GetControlPort();
|
||||
GetStopPort();
|
||||
GetDetectorUDPIP();
|
||||
@ -410,7 +325,6 @@ void qTabAdvanced::SetDetector(int index) {
|
||||
GetCltZMQPort();
|
||||
GetCltZMQIP();
|
||||
GetRxrHostname();
|
||||
GetReceiverOnline();
|
||||
GetRxrTCPPort();
|
||||
GetRxrUDPPort();
|
||||
GetRxrUDPIP();
|
||||
|
Reference in New Issue
Block a user