httplistener的异步和同步之间的区别

时间:2014-08-16 15:27:08

标签: sockets http asynchronous httplistener

我想在客户端上收听网络浏览器的请求。我知道我应该使用HttpListener,但我不知道从异步还是同步使用?使用BeginGetContextGetContext

try
{
    HttpListener listener = new HttpListener();
    listener.Prefixes.Add[this is not a link]("http://127.0.0.1:9080/");  
    listener.Start();

    Console.WriteLine("im listening...");

    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;
}
catch(exception e)
{
   console.writeline(e.tostring());
}

1 个答案:

答案 0 :(得分:1)

I have written before about the trade-off between synchronous and asynchronous IO.因为只有一个线程占用接受新客户端同步IO就好了。你最多可以保存一个节省很少的线程。

您可能希望将实际请求处理为异步。如果您有许多并发请求,这可能是一个好主意。如果你几乎没有并发请求,你什么也得不到。

请记住,异步IO通常更多工作,更容易出错。在有充分理由的时候使用它。