.net c# winform 启动本地端口监听并响应Web结果

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

在很多开发当中,都需要监听本地端口,并作出响应

使用.net winform 可轻松的完成该功能

需要使用到 HttpListener 监听类

第一步: 初始化实体

        internal static void ListenerStart(int port)
        {
            if (httpListener != null) return;
            httpListener = new System.Net.HttpListener();
            httpListener.Prefixes.Add("http://+:" + port.ToString() + "/");
            httpListener.Start();//开始监听
            //开始检索,定义异步回调
            for (var i = 0; i < 20; i++) httpListener.BeginGetContext(ReceiveProcess, null);
        }

第二步: 回调函数

        static void ReceiveProcess(IAsyncResult ia)
        {
            System.Net.HttpListenerContext hlc;
            try { hlc = httpListener.EndGetContext(ia); }//完成检索	
            catch (Exception e) { return; }

            try
            {
                hlc.Response.Headers.Clear();
                hlc.Response.StatusCode = 200;
                hlc.Response.Headers["Server"] = hlc.Request.UserHostName;
                hlc.Response.Headers["Last-Modified"] = DateTime.Now.ToString("ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", System.Globalization.CultureInfo.CreateSpecificCulture("en-US"));
                hlc.Response.Headers["Cache-Control"] = "max-age=31536000";
                string response = "<!DOCTYPE html><html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta charset=\"utf-8\" /><title>ggbig.com本地监控测试</title></head><body>";
                response += "给您点响应:" + DateTime.Now.ToString() + "<br/>";
                response += "处理结果值:" + (new Random().Next(1000, 9999)).ToString();
                response += "</body></html>";
                if (response != null)
                {
                    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(response);
                    hlc.Response.OutputStream.Flush();
                    hlc.Response.Headers.Clear();
                    hlc.Response.ContentLength64 = bytes.Length;
                    hlc.Response.OutputStream.Write(bytes, 0, bytes.Length);
                }
            }
            catch (ObjectDisposedException) { hlc.Response.StatusCode = 500; }
            catch (System.Net.HttpListenerException) { hlc.Response.StatusCode = 500; }
            catch (Exception e) { hlc.Response.StatusCode = 500; }
            finally
            {
                hlc.Response.OutputStream.Flush();
                hlc.Response.OutputStream.Close();
                hlc.Response.OutputStream.Dispose();
                hlc.Response.Close();
                httpListener.BeginGetContext(ReceiveProcess, null);
            }
        }

第三步: 停止处理

        internal static void ListenerEnd()
        {
            if (httpListener != null)
            {
                httpListener.Stop();
                httpListener.Abort();
                httpListener.Close();
                httpListener = null;
            }
        }


 以上3个步骤便可轻松监听电脑的本地端口,也可以写成服务,这样电脑每次重启后,便可直接监听.

 

附件:下载该文件资源,减少时间成本(增值服务)
.net c# winform 启动本地端口监听并响应Web结果源码
下载该源码,可直接运行查看结果,帮助您在最短的时间内,掌握HttpListener的使用.
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码
留言
该资源可下载
File Source
.rar
68.14 KB
.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码.net c# winform 启动本地端口监听并响应Web结果源码
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章