您的位置:首页 > 理论基础 > 计算机网络

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

2016-03-02 19:05 771 查看
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;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: