创建一个简单的HTTP服务(自动查找未使用的端口)

来源:互联网 发布:一根网线几个淘宝店铺 编辑:程序博客网 时间:2024/05/19 19:57
复制代码
            var t = new Thread(new ThreadStart(() => {                HttpListener listener = new HttpListener();                var prefix = string.Format("http://localhost:{0}/", port);                listener.Prefixes.Add(prefix);                listener.Start();                HttpListenerContext context = listener.GetContext();                HttpListenerRequest request = context.Request;                HttpListenerResponse response = context.Response;                string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";                byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);                response.ContentLength64 = buffer.Length;                System.IO.Stream output = response.OutputStream;                output.Write(buffer, 0, buffer.Length);                output.Close();                listener.Stop();            }));            t.Start();
复制代码

using System.Net;

 

复制代码
        static int GetPort()        {            IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();            IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();            var port = 800;            var flag = true;            while(flag)            {                flag = ipEndPoints.Any(p => { return p.Port == 800; });                if (flag)                 {                    port += 1;                    if(port == 60000)                    {                        MessageBox.Show("端口都被占用了,请联系管理员");                        flag = false;                        Environment.Exit(0);                    }                }                else                {                    flag = false;                    break;                }            }            return port;        }
复制代码
0 0
原创粉丝点击