ProjectsForTest/DevTest-main/DevTest/HttpServer/MyHttpServer.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Diagnostics;
using System.Net;
using System.Text;

namespace DevTest.HttpServer
{
    public class MyHttpServer
    {
        private HttpListener listerner = null;
        private List<UrlMap> maps = new List<UrlMap>();

        public void Start()
        {
            listerner = new HttpListener();
            listerner.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
            listerner.Prefixes.Add("http://127.0.0.1:8080/");
            listerner.Start();
            listerner.BeginGetContext(EndGetRequest, listerner);
        }

        public void SetUrlMap(List<UrlMap> maps)
        {
            this.maps.Clear();
            this.maps.AddRange(maps);
        }

        void EndGetRequest(IAsyncResult result)
        {
            HttpListenerContext context = null;
            System.Net.HttpListener listener = (System.Net.HttpListener)result.AsyncState;
            if (listener.IsListening)
                listener.BeginGetContext(EndGetRequest, listener);
            try
            {
                context = listener.EndGetContext(result);
                TaskProc(context);
            }
            catch (Exception ex)
            {
                Console.Write("Exception in listener: {0}{1}", Environment.NewLine, ex);
            }
            finally
            {
                try
                {
                    if (context != null)
                        context.Response.Close();
                }
                catch (Exception) { }
            }
        }

        private void TaskProc(HttpListenerContext client)
        {
            if (client == null) return;
            var coding = Encoding.UTF8;
            var request = client.Request;

            var response = client.Response;
            response.StatusCode = 200;

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。