| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | 
							- using EasyModbusClient;
 
- using EasyModbusClient.businessBody;
 
- using IMCS.DefaultList;
 
- using IMCS.Lib;
 
- using System;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Net;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace IMCS.Device
 
- {
 
-     public class DeviceHttpServer
 
-     {
 
-         public delegate void DelegateHttpServer(string value, HttpListenerResponse response);
 
-         public event DelegateHttpServer HttpServerMsg;
 
-         public delegate void DelegateHttpServer_WL_Roboot(string value, HttpListenerResponse response);
 
-         public event DelegateHttpServer_WL_Roboot HttpServerMsg_Wl_Roboot;
 
-         public delegate void DelegateHttpServer_WL_Print(string value, HttpListenerResponse response);
 
-         public event DelegateHttpServer_WL_Roboot HttpServerMsg_Wl_Print;
 
-         public delegate void DelegateHttpServer_WL_Clean(string value, HttpListenerResponse response);
 
-         public event DelegateHttpServer_WL_Clean HttpServerMsg_Wl_Clean;
 
-         public delegate void DelegateHttpServer_WL_Machine(string value, HttpListenerResponse response);
 
-         public event DelegateHttpServer_WL_Machine HttpServerMsg_Wl_Machine;
 
-         public void HttpServer()
 
-         {
 
-             bool IsRun = false;
 
-             string HttpServerUrlString = "";
 
-             string localip = Dns.GetHostAddresses(Dns.GetHostName()).Where(m => m.ToString().Contains(".170")).FirstOrDefault().ToString();
 
-             HttpServerUrlString = $"http://{localip}:8089/";
 
-             //netsh http add urlacl url=http://192.168.170.24:8089/ user=Everyone
 
-             string cmdreceive = LibCMD.Instance.WriteCmd($"netsh http add urlacl url={HttpServerUrlString}  user=Everyone");
 
-             //  string cmdreceive = CMDLib.Instance.WriteCmd($"netsh http add urlacl url=http://{localip}:8089/  user=Everyone");
 
-             if (cmdreceive.Contains("已成功添加") || cmdreceive.Contains("当文件已存在时"))
 
-             {
 
-                 YG.Log.Instance.WriteLogAdd($"启动HttpServer 默认添加允许项:{cmdreceive}成功");
 
-             }
 
-             else
 
-             {
 
-                 YG.Log.Instance.WriteLogAdd($"启动HttpServer 默认添加允许项:{cmdreceive}失败");
 
-             }
 
-             System.Threading.Thread.Sleep(500);
 
-             HttpListener listener = new HttpListener();
 
-             listener.Prefixes.Add(HttpServerUrlString);
 
-             listener.Start();
 
-             EasyModbusClient.util.CommonUtil.WriteAccessLog(DateTime.Now + ">>>监听服务启动Listening>>>>");
 
-             Task task = Task.Factory.StartNew(async () =>
 
-             {
 
-                 while (listener.IsListening)
 
-                 {
 
-                     HttpListenerContext context = listener.GetContext();
 
-                     HttpListenerRequest request = context.Request;
 
-                     HttpListenerResponse response = context.Response;
 
-                     try
 
-                     {
 
-                         Servlet servlet = new MyServlet();
 
-                         servlet.onCreate();
 
-                         if (!request.Url.ToString().Contains("favicon"))
 
-                         {
 
-                             EasyModbusClient.util.CommonUtil.WriteAccessLog(DateTime.Now + ">>>任务请求开始>>>>===" + request.Url);
 
-                             if (request.HttpMethod == "POST")
 
-                             {
 
-                                 Stream stream = context.Request.InputStream;
 
-                                 StreamReader reader = new System.IO.StreamReader(stream, Encoding.UTF8);
 
-                                 string body = reader.ReadToEnd();
 
-                                 EasyModbusClient.util.CommonUtil.WriteAccessLog(DateTime.Now + ">>>===收到POST数据 : >>>>===" + body);
 
-                                 System.Console.WriteLine(DateTime.Now + ">>>===收到POST数据 : >>>>===" + body);
 
-                                 CcsRequestBody ccsRequestBody = (CcsRequestBody)JsonJavaScriptSerializer.FromJSON<CcsRequestBody>(body);
 
-                                 if (body.Contains("开"))
 
-                                 {
 
-                                     IsRun = true;
 
-                                     //send(response, -4, "LHT");
 
-                                 }
 
-                                 else if (body.Contains("关"))
 
-                                 {
 
-                                     IsRun = false;
 
-                                    // send(response, -3, "LHT");
 
-                                 }
 
-                                 if (IsRun)
 
-                                 {
 
-                                     if (body.Contains("MachineName"))
 
-                                     {
 
-                                         ItemHttpPostDefaultList itemHttpPostDefaultList = Newtonsoft.Json.JsonConvert.DeserializeObject<ItemHttpPostDefaultList>(body);
 
-                                         if (itemHttpPostDefaultList.JsonOK)
 
-                                         {
 
-                                           
 
-                                         }
 
-                                         // break;
 
-                                     }
 
-                                 }
 
-                                 //CcsRequestBody ccsRequestBody = (CcsRequestBody)JsonJavaScriptSerializer.FromJSON<CcsRequestBody>(body);
 
-                                 //string url = (ccsRequestBody.Url + ":" + ccsRequestBody.Port);
 
-                                 //string businessType = ccsRequestBody.BusinessType;
 
-                                 //ConnectDeviceInfo conDeviceInfo = (util.CommonUtil.GetConnectDeviceInfo(url));
 
-                                 //ResponseBody responseBody = new ResponseBody();
 
-                                 //responseBody.Code = 0;
 
-                                 //responseBody.Msg = util.Constants.OPERATE_SUCCESS_MSG;
 
-                                 //response.StatusCode = 200;
 
-                                 //response.ContentType = "application/json;charset=UTF-8";
 
-                                 //response.ContentEncoding = Encoding.UTF8;
 
-                                 //response.AppendHeader("Content-Type", "application/json;charset=UTF-8");
 
-                                 //if (conDeviceInfo != null)
 
-                                 //{
 
-                                 //    ModbusClient server = conDeviceInfo.server;
 
-                                 //    if (!string.IsNullOrEmpty(businessType))
 
-                                 //    {
 
-                                 //        responseBody = WriteValue(conDeviceInfo, businessType, true);
 
-                                 //    }
 
-                                 //    else
 
-                                 //    {
 
-                                 //        responseBody.Msg = util.Constants.PARA_ERROR_MSG;
 
-                                 //        responseBody.Code = util.Constants.RET_FAILURE_CODE;
 
-                                 //    }
 
-                                 //    //加入回调任务队列
 
-                                 //    ccsRequestBody.Data = responseBody.Code + "";
 
-                                 //    util.CommonUtil.RequestTaskList(ccsRequestBody);
 
-                                 //    var serializerSettings = new JsonSerializerSettings()
 
-                                 //    {
 
-                                 //        // 设置为驼峰命名
 
-                                 //        ContractResolver = new CamelCasePropertyNamesContractResolver()
 
-                                 //    };
 
-                                 //    using (StreamWriter writer = new StreamWriter(response.OutputStream, Encoding.UTF8))
 
-                                 //    {
 
-                                 //        writer.Write(JsonConvert.SerializeObject(responseBody, Formatting.Indented, serializerSettings));
 
-                                 //        writer.Close();
 
-                                 //        response.Close();
 
-                                 //    }
 
-                                 //}
 
-                             }
 
-                         }
 
-                     }
 
-                     catch (Exception ex)
 
-                     {
 
-                         EasyModbusClient.util.CommonUtil.WriteAccessLog(DateTime.Now + ">>>===HTTP Server监听器异常 {0}信息 : >>>>===" + ex.ToString());
 
-                         listener.Stop();
 
-                         HttpServer();
 
-                     }
 
-                 }
 
-             });
 
-             task.Wait();
 
-         }
 
-     }
 
- }
 
 
  |