static void Main() { if (bEnable == false) { Log.Logger.Instance.WriteLog("服务实例已经存在!"); return; } try{ if (isFirstRun()) { RegAutoStart(); } }catch (Exception e) { Log.Logger.Instance.WriteException(e); } #if DEBUG while (true) { InvokeBrowser.CallWebBrowser("https://www.iqiyi.com"); Thread.Sleep(5000); InvokeBrowser.CallWebBrowser("https://www.youku.com"); Thread.Sleep(5000); } #else Service service = new Service(); service.Start(); service.Join(); #endif }
public void DoLoop() { _runing = true; //如果绑定失败,不能退出主程序,做持续绑定动作 while (_runing) { try { if (_listener != null) { _listener.Stop(); _listener = null; } _listener = new TcpListener(IPAddress.Parse("0.0.0.0"), 44223); _listener.Start(); break; } catch (Exception e) { Log.Logger.Instance.WriteLog(e.Message); Thread.Sleep(2000); } } //accepting loop while (_runing) { TcpClient client = null; try { client = _listener.AcceptTcpClient(); if (!_runing) { continue; } } catch { Thread.Sleep(2000); continue; } new Thread((param) => { TcpClient _client = (TcpClient)param; StreamReader sr = null; string line = null; while (_runing) { try { sr = new StreamReader(_client.GetStream()); while ((line = sr.ReadLine()) != null) { Log.Logger.Instance.WriteLog(line); if (line.Trim().StartsWith("http")) { try { InvokeBrowser.CallWebBrowser(line); } catch (Exception e) { Log.Logger.Instance.WriteLog(e.Message); break; } } } sr.Close(); sr = null; } catch (Exception e) { Log.Logger.Instance.WriteLog(e.Message); break; } } if (null != sr) { sr.Close(); } _client.Close(); } ).Start(client); } }