检查多个开放端口

时间:2017-12-20 09:33:31

标签: c# sockets port

我有这个程序,我需要检查端口可用性(端口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);

0 个答案:

没有答案