我有这个程序,我需要检查端口可用性(端口11000和端口1883)。
我在两个场景中测试了它:
(1)。我启动了一个服务器(使用端口11000)和MQTT代理(使用端口1883)。 结果是button14和按钮15都变为AQUA颜色。
(2)。我关闭服务器和mqtt代理+服务。结果是button14和button15都改为AQUA颜色。
我的问题是,按钮14和按钮都没有。 button15据说改为RED?
private void checkPort(int serialPortNum, int mqttPortNum)
{
TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections();
bool isAvailable = true;
//check for socket 11000
foreach (TcpConnectionInformation tcpi in tcpConnInfoArray)
{
if (tcpi.LocalEndPoint.Port == serialPortNum)
{
button14.BackColor = Color.Red;
isAvailable = false;
break;
}
else
{
//MessageBox.Show("" + isAvailable);
isAvailable = true;
button15.BackColor = Color.Aqua;
break;
}
}
//check for socket 11000
foreach (TcpConnectionInformation tcpi in tcpConnInfoArray)
{
if (tcpi.LocalEndPoint.Port == mqttPortNum)
{
isAvailable = false;
button14.BackColor = Color.Red;
break;
}
else
{
//MessageBox.Show("" + isAvailable);
isAvailable = true;
button14.BackColor = Color.Aqua;
break;
}
}
MessageBox.Show("Port availability is :" + isAvailable);