Наследование: PSXDH.ProxyHelp.Listener
Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
 public void StopServer()
 {
     _listener.Dispose();
     _listener      = null;
     this.IsRunning = false;
 }