异步http listener 完全并发处理惩罚http恳求的小例子

时间:2022-01-30 06:45:42

复制代码 代码如下:


using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Net;
 using System.Net.Sockets;
 using DevSDK.Net.Sockets;
 using System.IO;

 namespace ConsoleApplication1
 {
     class Program
     {
         static HttpListener sSocket = null;

         static void Main(string[] args)
         {
             sSocket = new HttpListener();

             sSocket.Prefixes.Add("http://127.0.0.1:8080/");

             sSocket.Start();

             sSocket.BeginGetContext(new AsyncCallback(GetContextCallBack), sSocket);

             Console.Read();           
         }

         static void GetContextCallBack(IAsyncResult ar)
         {
             try
             {
                 sSocket = ar.AsyncState as HttpListener;

                 HttpListenerContext context = sSocket.EndGetContext(ar);

    sSocket.BeginGetContext(new AsyncCallback(GetContextCallBack), sSocket);

                 Console.WriteLine(context.Request.Url.PathAndQuery);

             }
             catch { }

         }
     }
 }