private static void RunFromConsole() { ConsoleManager.Show(); var service = new ScanService(Settings.Default.Port); try { service.Start(); Console.WriteLine("Press any key to stop service"); Console.ReadKey(); } catch (Exception e) { Console.WriteLine(e); } finally { service.Stop(); } }
/// <summary> /// Проверка доступности порта. /// </summary> /// <param name="portNumber">Номер порта.</param> /// <returns>True, если порт доступен, и false, если порт занят.</returns> private bool CheckPortAvailability(int portNumber) { var scanService = new ScanService(portNumber); var resultCheckServer = scanService.CheckServer(); if (resultCheckServer != null) { string error; if (resultCheckServer.Code == 32) error = "Порт " + portNumber + " занят другим процессом. "; else error = "Непредусмотренная ошибка. Отправьте это сообщение разработчикам." + Environment.NewLine + Environment.NewLine + resultCheckServer.Text + Environment.NewLine + Environment.NewLine; error += "Попробуйте изменить или освободить порт."; MessageBox.Show(error); return false; } return true; }