//using System; //using System.Linq; //using System.Web; ////using HDL_ON.UI; //namespace HDL_ON.DAL.Net //{ // public static class HttpListener // { // private static System.Net.HttpListener listener; // /// // /// 启动监听及处理 // /// // public static void Start(System.Net.IPAddress ipAddress, int port) // { // try // { // if (listener == null) // { // listener = new System.Net.HttpListener(); // listener.AuthenticationSchemes = System.Net.AuthenticationSchemes.Anonymous; // //listener.Prefixes.Add (string.Format ("http://{0}:{1}/", ipAddress.ToString (), port)); // listener.Prefixes.Add($"http://+:{port}/"); // listener.Start(); // //beginGetContext(listener); // contextThread = new System.Threading.Thread(() => // { // while (true) // { // var context = listener.GetContext(); // System.Threading.Tasks.Task.Run(() => // { // manager(context); // }); // } // }) // { IsBackground = true }; // contextThread.Start(); // MainPage.Log("HttpListener已经启动!"); // } // } // catch (Exception e) // { // MainPage.Log("HttpListener启动失败!\r\n" + e.Message); // } // } // /// // /// // /// // static System.Threading.Thread contextThread; // /// // /// 请求事件 // /// // /// 请求命令 // /// 输出流 // /// 输入流 // public delegate void RequestEventHandler(System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream); // /// // /// 请求事件 // /// // public static event RequestEventHandler EventHandler; // /// // /// 开始异步接收http请求 // /// // /// // private static void beginGetContext(System.Net.HttpListener listerner) // { // try // { // if (listerner == null || !listerner.IsListening) // { // return; // } // listerner.BeginGetContext(new System.AsyncCallback(getContextCallBack), null); // } // catch // { // System.Threading.Thread.Sleep(1); // beginGetContext(listerner); // } // } // /// // /// 获取http请求,并处理 // /// // /// // private static void getContextCallBack(System.IAsyncResult ar) // { // beginGetContext(listener); // try // { // System.Net.HttpListenerContext context = listener.EndGetContext(ar); // manager(context); // } // catch { } // } // /// // /// 关闭 // /// // public static void Close() // { // try // { // if (contextThread != null) // { // contextThread.Abort(); // contextThread = null; // } // } // catch { } // try // { // if (listener != null) // { // listener.Close(); // listener = null; // } // } // catch { } // MainPage.Log("HttpListener已经关闭!"); // } // private static void manager(System.Net.HttpListenerContext httpListenerContext) // { // System.Net.HttpListenerResponse httpListenerResponse = null; // try // { // #region // httpListenerResponse = httpListenerContext.Response; // httpListenerResponse.StatusCode = 200;//设置返回给客服端http状态代码 // httpListenerResponse.ContentEncoding = System.Text.Encoding.UTF8; // if (EventHandler != null) // { // EventHandler(HttpUtility.ParseQueryString(System.IO.Path.GetFileName(httpListenerContext.Request.RawUrl)), httpListenerResponse.OutputStream, httpListenerContext.Request.InputStream); // } // httpListenerResponse.OutputStream.Flush(); // #endregion // } // catch // { // } // finally // { // #region // try // { // httpListenerContext.Request.InputStream.Close(); // } // catch { } // try // { // httpListenerResponse.OutputStream.Close(); // } // catch { } // try // { // httpListenerResponse.Close(); // } // catch { } // #endregion // } // } // public static void PostData(string url, string postJson) // { // System.IO.Stream outputStream = null; // System.IO.Stream inputStream = null; // try // { // System.Net.HttpWebRequest webReq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(new Uri(url)); // webReq.Method = "POST"; // //webReq // byte[] byteData = System.Text.Encoding.UTF8.GetBytes(postJson); // //定义传送数据格式 // webReq.ContentType = "application/json"; // webReq.Accept = "application/json"; // //webReq.ContentType = "application/x-www-form-urlencoded"; // //webReq.Timeout = 1000*2; // webReq.ContentLength = byteData.Length; // //定义Stream信息 // outputStream = webReq.GetRequestStream(); // outputStream.Write(byteData, 0, byteData.Length); // outputStream.Flush(); // outputStream.Close(); // //inputStream= webReq.GetResponse().GetResponseStream(); // } // catch // { // throw new Exception("发送失败"); // } // finally // { // if (null != outputStream) // { // outputStream.Close(); // } // if (null != inputStream) // { // inputStream.Close(); // } // } // } // } //}