Пример #1
0
        public ListenerHttp StartHttpListener(NewHttpListenerRequest request, AgentController agentController, CryptoController cryptoController, string user)
        {
            var listener = new ListenerHttp
            {
                ListenerName   = request.Name,
                Type           = ListenerType.HTTP,
                BindPort       = request.BindPort,
                ConnectAddress = request.ConnectAddress,
                ConnectPort    = request.ConnectPort
            };

            var module = new HttpCommModule
            {
                Listener = listener
            };

            HttpListeners.Add(module);

            module.Init(agentController, cryptoController);
            module.Start();

            OnServerEvent?.Invoke(this, new ServerEvent(ServerEventType.ListenerStarted, request.Name));
            Log.Logger.Information("LISTENER {Event} {ListenerName} {Nick}", ServerEventType.ListenerStarted.ToString(), request.Name, user);

            return(listener);
        }
 public void StopServer()
 {
     if (ListenerHttp != null && ListenerHttp.IsListening)
     {
         ListenerHttp.Abort();
     }
     DataManager.SaveColorList();
 }
 void ManageRequests()
 {
     while (ListenerHttp.IsListening)
     {
         try {
             IAsyncResult context = ListenerHttp.BeginGetContext(new AsyncCallback(ManageRequestsAsync), ListenerHttp);
             context.AsyncWaitHandle.WaitOne();
         }
         catch {}
     }
 }
Пример #4
0
        public void StartHttpListener(NewHttpListenerRequest request)
        {
            var listener = new ListenerHttp
            {
                BindPort       = request.BindPort,
                ConnectAddress = request.ConnectAddress,
                ConnectPort    = request.ConnectPort
            };

            var module = new HTTPCommModule
            {
                Listener = listener
            };

            HTTPListeners.Add(module);
            module.Init();
            module.Start();
        }
 public void StartServer()
 {
     Server.Port = DEFAULT_PORT;
     try {
         ListenerHttp.Prefixes.Add("http://*:" + Port + "/");
         ListenerHttp.Start();
         ListenerThread = new Thread(ManageRequests);
         ListenerThread.Start();
         System.Timers.Timer t = new System.Timers.Timer();
         t.Interval = 30 * 1000;
         t.Elapsed += delegate {
             DataManager.SaveSession("Autosave");
         };
         t.Start();
     }
     catch {
         StopServer();
     }
 }
Пример #6
0
 public HttpPayloadController(ListenerHttp listenerHttp)
 {
     Listener = listenerHttp;
 }