소스 검색

停止服务时马上停止http侦听

shuiping150 6 달 전
부모
커밋
aa73714040
2개의 변경된 파일13개의 추가작업 그리고 3개의 파일을 삭제
  1. 8 3
      JLHHJSvr/JLHHJSvr.cs
  2. 5 0
      JLHHJSvr/LJLib.HttpServer/LJHttpServer.cs

+ 8 - 3
JLHHJSvr/JLHHJSvr.cs

@@ -18,6 +18,7 @@ namespace JLHHJSvr
     partial class JLHHJSvr : ServiceBase
     {
         private TcpListener _tcpListener = null;
+        private LJHttpServer _httpSvr = null;
         private static bool running = false;
 
         public JLHHJSvr()
@@ -95,15 +96,19 @@ namespace JLHHJSvr
         protected override void OnStop()
         {
             running = false;
+            if (_httpSvr != null)
+            {
+                _httpSvr.Stop();
+            }
         }
         private void startHttpListener(int port)
         {
 #if DEBUG
-            var httpServer = new SimpleHttpServer(port, GlobalVar.server, new GlobalVar.ParkFileModel());
+            _httpSvr = new SimpleHttpServer(port, GlobalVar.server, new GlobalVar.ParkFileModel());
 #else
-            var httpServer = new SimpleHttpServer(port, GlobalVar.server, new GlobalVar.ParkFileModel());
+            _httpSvr = new SimpleHttpServer(port, GlobalVar.server, new GlobalVar.ParkFileModel());
 #endif
-            httpServer.Listen();
+            _httpSvr.Listen();
         }
     }
 }

+ 5 - 0
JLHHJSvr/LJLib.HttpServer/LJHttpServer.cs

@@ -65,6 +65,11 @@ namespace LJLib.HttpServer
             });
         }
 
+        public void Stop()
+        {
+            is_active = false;
+        }
+
         public abstract void HandleGetRequest(LJHttpProcessor p);
         public abstract void HandlePostRequest(LJHttpProcessor p, StreamReader inputData);
     }