Winform 搭建http服务器

using System;
using System.Collections;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace Bend.Util {

    public class HttpProcessor {
        public TcpClient socket;        
        public HttpServer srv;

        private Stream inputStream;
        public StreamWriter outputStream;

        public String http_method;
        public String http_url;
        public String http_protocol_versionstring;
        public Hashtable httpHeaders = new Hashtable();


        private static int MAX_POST_SIZE = 10 * 1024 * 1024; // 10MB

        public HttpProcessor(TcpClient s, HttpServer srv) {
            this.socket = s;
            this.srv = srv;                   
        }
        

        private string streamReadLine(Stream inputStream) {
            int next_char;
            string data = "";
            while (true) {
                next_char = inputStream.ReadByte();
                if (next_char == '\n') { break; }
                if (next_char == '\r') { continue; }
                if (next_char == -1) { Thread.Sleep(1); continue; };
                data += Convert.ToChar(next_char);
            }            
            return data;
        }
        public void process() {                        
            // we can't use a StreamReader for input, because it buffers up extra data on us inside it's
            // "processed" view of the world, and we want the data raw after the headers
            inputStream = new BufferedStream(socket.GetStream());

            // we probably shouldn't be using a streamwriter for all output from handlers either
            outputStream = new StreamWriter(new BufferedStream(socket.GetStream()));
            try
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三层 Winform 搭建是一种软件架构的设计模式,用于实现应用程序的分层开发和模块化管理。它主要包含三个层级:表示层、业务逻辑层和数据访问层。 表示层是用户与应用程序进行交互的界面,通常由 Winform 控件组成,负责接收用户的输入和向用户显示数据。在表示层中,应该尽量避免编写复杂的业务逻辑,而是将用户的操作传递给业务逻辑层进行处理。 业务逻辑层是应用程序的核心,负责处理各种业务逻辑和数据处理。它包含了一系列的类和方法,用于实现各种功能和操作。业务逻辑层接收表示层传递过来的数据,进行相应的处理,并将结果返回给表示层。在业务逻辑层中,需要尽量将具体的业务逻辑封装起来,提高代码的可维护性和复用性。 数据访问层是与数据存储相关的层级,负责与数据库或其他数据源进行交互。它包含了与数据存储相关的代码和方法,用于实现数据的读取、写入和更新等操作。数据访问层在实现时,可以使用各种数据访问技术,如 ADO.NET、Entity Framework 等。 在三层 Winform 搭建中,各个层级之间应该有清晰的分工和接口定义,以实现良好的模块化和解耦。表示层负责界面和用户交互,业务逻辑层负责处理业务逻辑,数据访问层负责与数据源进行交互。通过良好的分层设计和合理的接口定义,可以提高代码的可读性、可维护性和可扩展性。 总而言之,通过三层 Winform 搭建,可以将应用程序的各个模块划分到不同的层级中,实现功能的模块化和分工开发,提高代码的可维护性和扩展性,同时也可以更好地符合软件工程的设计原则和规范。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值