使用HTTPListener能够简单搭建一个Http服务器,对于本地使用非常方面,想起以前使用了WebSocket来与本地网页通信的例子,也是能够改成使用HTTPListener来作的。看下HTTPListener的使用吧。c#
public class RJHttp { private HttpListener httpListener = new HttpListener(); public RJHttp() { this.httpListener.Prefixes.Add("http://127.0.0.1:8089/");//必须以/结尾 this.httpListener.Start(); ///异步等待请求 this.httpListener.BeginGetContext(this.Read, this.httpListener); } private void Read(IAsyncResult result) { ///获取到请求 HttpListenerContext context = this.httpListener.EndGetContext(result); ///获取请求的数据 HttpListenerRequest request = context.Request; string contentType = request.ContentType; string httpMethod = request.HttpMethod; string userAgent = request.UserAgent; StreamReader sr = new StreamReader(request.InputStream); string code = sr.ReadToEnd(); ///返回数据 byte[] bys = Encoding.UTF8.GetBytes(DateTime.Now.ToString()); context.Response.OutputStream.Write(bys, 0, bys.Length); context.Response.Close(); this.httpListener.BeginGetContext(this.Read, this.httpListener); } }
对于请求端使用的什么请求方式能够使用request.HttpMethod的值进行判断,而后返回指定的数据便可。服务器