public bool SendMessage(ComputerDataFound cmpData) { if (mutexMessageBoxScanner.WaitOne(100)) { MessageListData.Add(cmpData); mutexMessageBoxScanner.ReleaseMutex(); return true; } else { return false; } }
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); } } }
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!"); }
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; } }