C#实现HTTP服务端客户端通信传文件

本文介绍了如何使用C#实现基于HTTP协议的服务端和客户端进行文件传输。HTTP协议简单实用,适合文件及指令传输。文章概述了HTTP响应消息的结构,并提供了服务端响应客户端请求的基本代码示例,包括创建HTTP侦听器、处理请求以及接收文件的类。
摘要由CSDN通过智能技术生成

关于HTTP协议

几种传输协议大家都应该了解,比如FTP文件传输,Socket传输,HTTP相对这两种比较简单,根据需求来选择传输协议,本人实习所作的项目,用http刚刚好,简单方便又可以完成所有的需求,我需要不仅传输文件还要传输指令,如果我选择FTP传输文件,会把其它内容包装成文件,反而很繁琐,Socket又比较复杂。综上HTTP是简单实用的协议。
关于HTTP的详解,比如报文结构,状态码等请移步其它网站,比如下方的教程,我认为可以满足基本需求
https://www.runoob.com/http/http-messages.html

HTTP服务端

服务端的主要负责响应客户端发来的请求,服务器收到客户端发来的请求后会返回一个HTTP的响应消息

以下是HTTP的响应报文部分,关于响应的详解,请看博客一开始给出的连接
HTTP的响应消息主要分四部分:状态行,消息报头,空行,响应正文
第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
第一行为状态行,(HTTP/1.1)是HTTP版本为1.1版本,状态码为200,状态消息(ok)
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第二行和第三行为消息报头,
Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8
第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息

服务端用到的基础类是Httplistener,写文件的时候会用到StreamWriter
服务端相应的代码结构大概分为以下几个部分

  1. 创建一个HTTP侦听器对象并初始化HttpListener listener = new HttpListener();
  2. 添加需要监听的URI 前缀:使用Prefixes属性来访问集合
  3. 开始侦听来自客户端的请求 : listener.Start();
  4. 处理客户端的Http请求,34循环处理以提供多客户的多请求
  5. 关闭HTTP侦听器

服务端响应客户端并发送helloword的完整示例程序如下:

class Program
    {
   
        static void Main(string[] args)
        {
   
            new DebugSever().DebugListener("http://127.0.0.1:8080/");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值