/// <summary> /// 启动端口监听 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_start_Click(object sender, EventArgs e) { try { if (_listener != null) { _listener.Dispose(); _listener = null; btn_start.Image = Resources.play; btn_start.Text = _rm.GetString("btn_start.Text"); _lw.Hide(); OpenLogToolStripMenuItem.Enabled = false; } else { var address = IPAddress.Parse(cb_ip.Text); var port = int.Parse(tb_port.Text); _listener = new HttpListenerHelp(address, port, _lw.AddUrl); _listener.Start(); StartServer(); btn_start.Image = Resources.minus; btn_start.Text = _rm.GetString("stop"); Hide(); _lw.Show(); _lw.Activate(); OpenLogToolStripMenuItem.Enabled = true; } cb_ip.Enabled = !cb_ip.Enabled; tb_port.Enabled = !tb_port.Enabled; ckb_lixianspeed.Enabled = !ckb_lixianspeed.Enabled; ckb_loaclspeed.Enabled = !ckb_loaclspeed.Enabled; cb_conntype.Enabled = !cb_conntype.Enabled; ckb_cdn.Enabled = !ckb_cdn.Enabled; } catch (Exception ex) { if (_listener != null) { _listener.Dispose(); _listener = null; } MessageBox.Show(_rm.GetString("starterrorinfo") + ex.Message); } }
public void StartServer() { if (_listener == null) { if (!MonitorLog.BuildRules(this.Config.Rule)) { throw new NoCaptureRuleException(); } if (this.Address == null) { throw new IPAddressNotBindException(); } _listener = new HttpListenerHelp(this.Address, this.Port, this.OnUpdataUrlLog) { ExceptionHandler = this.ExceptionHandler, }; _listener.Start(); Config.Ip = this.Address.ToString(); this.IsRunning = true; } }
public void StopServer() { _listener.Dispose(); _listener = null; this.IsRunning = false; }