コード例 #1
0
 public bool SendMessage(ComputerDataFound cmpData)
 {
     if (mutexMessageBoxScanner.WaitOne(100))
     {
         MessageListData.Add(cmpData);
         mutexMessageBoxScanner.ReleaseMutex();
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #2
0
        private void AddInListView(ComputerDataFound cmpData)
        {
            if (this.listView_Connections.View == View.List)
            {
                if (cmpData.Port != 0xFFFF)
                {
                    if (cmpData.bMySQLVersion)
                    {
                        this.listView_Connections.Items.Add(StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress)) + " : " + cmpData.Port.ToString() + " \"" + cmpData.sHostName + "\", MySQL Version = " + cmpData.sMySQLVersion);
                    }
                    else
                    {
                        this.listView_Connections.Items.Add(StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress)) + " : \"" + cmpData.sHostName + "\"");
                    }
                }
                else
                {
                    this.listView_Connections.Items.Add(StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress)) + " : \"" + cmpData.sHostName + "\"");
                }
            }
            else if (this.listView_Connections.View == View.Details)
            {
                if (cmpData.Port != 0xFFFF)
                {
                    if (cmpData.bMySQLVersion)
                    {

                        ListViewItem lvi = new ListViewItem();
                        lvi.Tag = 0;
                        lvi.Text = StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress));
                        lvi.Name = sColIP;

                        ListViewItem.ListViewSubItem subItemPort = new ListViewItem.ListViewSubItem(lvi, sColPort);
                        subItemPort.Name = sColPort;
                        subItemPort.Text = cmpData.Port.ToString();
                        lvi.SubItems.Add(subItemPort);

                        ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(lvi, sColComputerName);
                        subItem.Name = sColComputerName;
                        subItem.Text = cmpData.sHostName;
                        lvi.SubItems.Add(subItem);

                        ListViewItem.ListViewSubItem subItemServer = new ListViewItem.ListViewSubItem(lvi, sColServer);
                        subItemServer.Name = sColServer;
                        subItemServer.Text = cmpData.sMySQLVersion;
                        lvi.SubItems.Add(subItemServer);
                        listView_Connections.Items.Add(lvi);

                    }
                    else
                    {
                        ListViewItem lvi = new ListViewItem();
                        lvi.Tag = 0;
                        lvi.Text = StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress));
                        lvi.Name = sColIP;

                        ListViewItem.ListViewSubItem subItemPort = new ListViewItem.ListViewSubItem(lvi, sColPort);
                        subItemPort.Name = sColPort;
                        subItemPort.Text = cmpData.Port.ToString();
                        lvi.SubItems.Add(subItemPort);

                        ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(lvi, sColComputerName);
                        subItem.Name = sColComputerName;
                        subItem.Text = cmpData.sHostName;
                        lvi.SubItems.Add(subItem);

                        //ListViewItem.ListViewSubItem subItemServer = new ListViewItem.ListViewSubItem(lvi, sColIP);
                        //subItemServer.Name = sColServer;
                        //subItemServer.Text = cmpData.sMySQLVersion;
                        //lvi.SubItems.Add(subItemServer);
                        listView_Connections.Items.Add(lvi);
                    }
                }
                else
                {
                    ListViewItem lvi = new ListViewItem();
                    lvi.Tag = 0;
                    lvi.Text = StaticFunc.GetComputerFromIP(StaticFunc.GetIP(cmpData.IpAddress));
                    lvi.Name = sColIP;

                    ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(lvi, sColComputerName);
                    subItem.Name = sColComputerName;
                    subItem.Text = cmpData.sHostName;
                    lvi.SubItems.Add(subItem);

                    //ListViewItem.ListViewSubItem subItemServer = new ListViewItem.ListViewSubItem(lvi, sColIP);
                    //subItemServer.Name = sColServer;
                    //subItemServer.Text = cmpData.sMySQLVersion;
                    //lvi.SubItems.Add(subItemServer);
                    listView_Connections.Items.Add(lvi);
                }
            }
        }
コード例 #3
0
        public void ScanLocalNetwork(Object data)
        {
            // UInt32 ulStartAddress,UInt32 ulEndAddress,bool bShowAll,Form_SearchMySQL_servers Form
            if (dbg.bDebugPrint) dbg.print("void ScanLocalNetwork(Object data)");

            UInt32 ulAddress;
            if (data.GetType() == typeof(ScannerThreadParam))
            {
                ScannerThreadParam scp = (ScannerThreadParam)data;
                PingTimeout = scp.PingTimeout;
                if (dbg.bDebugPrint) dbg.print("for (ulAddress = " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(scp.ulStartAddress)) + "; ulAddress <= " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(scp.ulEndAddress)) + "; ulAddress++)");

                int xDisplay = 0;
                for (ulAddress = scp.ulStartAddress; ulAddress <= scp.ulEndAddress; ulAddress++)
                {
                    if (xDisplay >= 10)
                    {
                        xDisplay = 0;
                    }

                    if (dbg.bDebugPrint) dbg.print("   ulAddress = " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)));
                    eMessage eMsg = eMessage.NO_MSG;
                    if (GetMessage(ref  eMsg))
                    {
                        if (eMsg == eMessage.MSG_STOP_SEARCHING)
                        {
                            if (dbg.bDebugPrint) dbg.print("eMsg == eMessage.MSG_STOP_SEARCHING");
                            //Debug.Print("\n(eMsg == Form_SearchMySQL_servers.eMessage.MSG_END_THREAD)");
                            break;
                        }
                    }
                    if (scp.bUsePing)
                    {

                        if (dbg.bDebugPrint) dbg.print("PingComputer(StaticFunc.GetIP("+StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)) +")");
                        if (PingComputer(StaticFunc.GetIP(ulAddress)))
                        {
                            if (scp.bCheckPort)
                            {
                                if (dbg.bDebugPrint) dbg.print("scp.bCheckPort= true");
                                UInt16 ui16Port;
                                for (ui16Port = scp.ui16StartPort; ui16Port <= scp.ui16EndPort; ui16Port++)
                                {
                                    //if (xDisplay == 0)
                                    //{
                                    //    //while (!SendMessage("Check Port " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)) + ":" + ui16Port.ToString()))
                                    //    //{
                                    //    //}
                                    //    while (!SendMessage(HowMuchDone(scp.ulStartAddress, ulAddress, scp.ulEndAddress)))
                                    //    {
                                    //    }
                                    //}
                                    //Debug.Print("Check Port " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)));
                                    string sMySqlServerVersion = null;
                                    //Debug.Print("\n(eMsg == Form_SearchMySQL_servers.eMessage.MSG_END_THREAD)");
                                    if (CheckPort(StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)), (int)ui16Port, ref sMySqlServerVersion, scp.CheckPortTimeout))
                                    {
                                        ComputerDataFound cmpData = new ComputerDataFound();
                                        cmpData.IpAddress = ulAddress;
                                        cmpData.Port = ui16Port;
                                        cmpData.sHostName = StaticFunc.GetComputerNameFromIP(ulAddress);
                                        cmpData.sMySQLVersion = sMySqlServerVersion;
                                        cmpData.bMySQLVersion = true;
                                        if (dbg.bDebugPrint) dbg.print("while (!SendMessage(cmpData)) MySql" + sMySqlServerVersion);
                                        while (!SendMessage(cmpData))
                                        {

                                        }
                                    }
                                    else
                                    {
                                        ComputerDataFound cmpData = new ComputerDataFound();
                                        cmpData.Port = ui16Port;
                                        cmpData.IpAddress = ulAddress;
                                        cmpData.sHostName = StaticFunc.GetComputerNameFromIP(ulAddress);
                                        cmpData.bMySQLVersion = false;
                                        if (dbg.bDebugPrint) dbg.print("while (!SendMessage(cmpData))");
                                        while (!SendMessage(cmpData))
                                        {

                                        }
                                    }
                                    if (!scp.bPortRange)
                                    {
                                        break;
                                    }
                                }
                            }
                            else
                            { // Only Ping
                                if (dbg.bDebugPrint) dbg.print("Only Ping");
                                ComputerDataFound cmpData = new ComputerDataFound();
                                cmpData.IpAddress = ulAddress;
                                cmpData.Port = 0xFFFF;
                                cmpData.sHostName = StaticFunc.GetComputerNameFromIP(ulAddress);
                                cmpData.sMySQLVersion = "";
                                cmpData.bMySQLVersion = false;
                                if (dbg.bDebugPrint) dbg.print("Only Ping while (!SendMessage(cmpData))");
                                while (!SendMessage(cmpData))
                                {
                                }
                            }
                        }
                    }
                    //else if (bUseConnectionPing)
                    //{
                    //    MySql.Data.MySqlClient.MySqlConnection Conn = new MySql.Data.MySqlClient.MySqlConnection(

                    //}
                    else
                    {
                        UInt16 ui16Port;
                        if (dbg.bDebugPrint) dbg.print(" while (!SendMessage( Check Port + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)) + : + ui16Port.ToString()))");
                        for (ui16Port = scp.ui16StartPort; ui16Port <= scp.ui16EndPort; ui16Port++)
                        {
                            //Debug.Print("Check Port " + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)));
                            string sMySqlServerVersion = null;
                            //Debug.Print("\n(eMsg == Form_SearchMySQL_servers.eMessage.MSG_END_THREAD)");
                            if (CheckPort(StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)), (int)ui16Port, ref sMySqlServerVersion, scp.CheckPortTimeout))
                            {
                                ComputerDataFound cmpData = new ComputerDataFound();
                                cmpData.IpAddress = ulAddress;
                                cmpData.Port = ui16Port;
                                cmpData.sHostName = StaticFunc.GetComputerNameFromIP(ulAddress);
                                cmpData.sMySQLVersion = sMySqlServerVersion;
                                cmpData.bMySQLVersion = true;
                                if (dbg.bDebugPrint) dbg.print(" while (!SendMessage(cmpData))");
                                while (!SendMessage(cmpData))
                                {

                                }
                            }
                            if (!scp.bPortRange)
                            {
                                break;
                            }

                        }
                        //Debug.Print("Check Port End" + StaticFunc.GetComputerFromIP(StaticFunc.GetIP(ulAddress)));
                    }
                    xDisplay++;
                    while (!SendMessage(1))
                    {
                    }
                }
            }
            //Debug.Print("\nExit Thread");
            if (dbg.bDebugPrint) dbg.print(" while (!SendMessageSearchFinished())");
            while (!SendMessageSearchFinished())
            {

            }

            if (dbg.bDebugPrint) dbg.print("while (!GetMassageExitThread())");
            while (!GetMassageExitThread())
            {
            }
            if (dbg.bDebugPrint) dbg.print("THREAD EXIT  THREAD EXIT THREAD EXIT THREAD EXIT THREAD EXIT THREAD EXIT!");
        }
コード例 #4
0
        public bool GetMessage(ref ComputerDataFound cmpDataOut)
        {
            // First empty all MessageBoxes

            foreach (myScannerThreadClass thrcls in ThreadList)
            {
                if (thrcls.mutexMessageBoxScanner.WaitOne(2000))
                {
                    if (thrcls.MessageListData.Count > 0)
                    {
                        ComputerDataFound cmpData = new ComputerDataFound();
                        cmpData.bMySQLVersion = thrcls.MessageListData[0].bMySQLVersion;
                        cmpData.bPortOpened = thrcls.MessageListData[0].bPortOpened;
                        cmpData.IpAddress = thrcls.MessageListData[0].IpAddress;
                        cmpData.sHostName = thrcls.MessageListData[0].sHostName;
                        cmpData.Port = thrcls.MessageListData[0].Port;
                        cmpData.sMySQLVersion = thrcls.MessageListData[0].sMySQLVersion;
                        ComputerDataFoundList.Add(cmpData);
                        thrcls.MessageListData.RemoveAt(0);
                    }
                    thrcls.mutexMessageBoxScanner.ReleaseMutex();
                }
            }

            if (ComputerDataFoundList.Count > 0)
            {
                ComputerDataFound cmpD = new ComputerDataFound();
                cmpD.bMySQLVersion = ComputerDataFoundList[0].bMySQLVersion;
                cmpD.bPortOpened = ComputerDataFoundList[0].bPortOpened;
                cmpD.IpAddress = ComputerDataFoundList[0].IpAddress;
                cmpD.sHostName = ComputerDataFoundList[0].sHostName;
                cmpD.Port = ComputerDataFoundList[0].Port;
                cmpD.sMySQLVersion = ComputerDataFoundList[0].sMySQLVersion;
                ComputerDataFoundList.RemoveAt(0);
                cmpDataOut = cmpD;
                return true;

            }
            else
            {
                cmpDataOut = null;
                return false;
            }
        }