logo资料库

tcpip课程设计.doc

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
目录
1.概要
1.1 C#软件实现原理
1.2 HTTP协议的作用原理
2.界面设计
2.1 服务器界面
2.2 服务器界面控件
3.实现流程
4.服务器编程
4.1 设计HTTP web服务器
4.1.1创建TcpListener对象
4.1.2接受客户端请求
4.1.3读取请求内容
5.测试web服务器
5.1 实验准备
5.1.1 创建文件夹
5.1.2 保存测试网页及图片
5.2 访问web服务器虚拟目录下的网页和图片
5.2.1访问网页显示不全面
5.2.2 访问网页中的图片
5.2.3 访问网页正常
5.3 访问网页错误信息
6.C#安装软件设计
7.总结
致谢
参考文献
重庆科技学院 《XXXX 设计》 课程设计报告 学 院: 电气与信息工程学院_ 专业班级: 计科普 10-02 学生姓名: 唐柳 学 号: 201044189 设计地点(单位)______ _I520______ __ __ 设计题目: WEB 服务器 完成日期: 2013 年 1 月 12 日 指导教师评语: ______________________ ______________ ___________________________________________________________________________ ___________________________________________________________________________ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________
摘要 本专题将针对 HTTP 协议定义一个 Web 服务器,我们平常浏览网页通过在浏 览器中输入一个网址就可以看到我们想要的网页,这个过程中浏览器只是一个客 户端,浏览器(应用层应用程序)通过 HTTP 协议把用户请求发送到服务端, 服 务器接受到发送来的 HTTP 请求,然后对请求进行处理和响应,最后把响应的内 容发送给客户端(浏览器这里充当了用户代理的客户端),浏览器再对接受到的 响应内容(一般是 HTML 文件)进行解释并且显示出来。这就是一次完整的用户 请求/响应模型,本专题所讲述的是一个简单的 Web 服务器,其他一些大型的 Web 服务器(IIS,Apache)也是这样的一个原理, 本专题只是简单讲述 Web 服务器 的实现原理。 关键字:HTTP 协议 客户端 web 服务器 I
目录 1.概要 ............................................................. 1 1.1 C#软件实现原理 ..............................................1 1.2 HTTP 协议的作用原理 ......................................... 1 2.界面设计 ......................................................... 3 2.1 服务器界面 ..................................................3 2.2 服务器界面控件 ..............................................3 3.实现流程 ......................................................... 5 4.服务器编程 ....................................................... 6 4.1 设计 HTTP web 服务器 .........................................6 4.1.1 创建 TcpListener 对象 ...................................6 4.1.2 接受客户端请求 .........................................6 4.1.3 读取请求内容 ...........................................7 5.测试 web 服务器 .................................................. 13 5.1 实验准备 ...................................................13 5.1.1 创建文件夹 ........................................... 13 5.1.2 保存测试网页及图片 ................................... 14 5.2 访问 web 服务器虚拟目录下的网页和图片 .......................15 5.2.1 访问网页显示不全面 ....................................15 5.2.2 访问网页中的图片 ..................................... 17 5.2.3 访问网页正常 ......................................... 17 5.3 访问网页错误信息 ...........................................19 6.C#安装软件设计 .................................................. 20 7.总结 ............................................................ 24 致谢 .............................................................. 25 参考文献 .......................................................... 26 II
1.概要 一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。 这个客户端通常指的是 Web 浏览器。 1.1 C#软件实现原理 C#实现 WEB 服务器、HTTP 协议的作用原理: WWW 是以 Internet 作为传输媒介的一个应用系统,WWW 网上最基本的传输单 位是 Web 网页。WWW 的工作基于客户机/服务器计算模型,由 Web 浏览器(客户机) 和 Web 服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。 HTTP 协议是基于 TCP/IP 协议之上的协议,是 Web 浏览器和 Web 服务器之间的应 用层协议,是通用的、无状态的、面向对象的协议。 1.2 HTTP 协议的作用原理 HTTP 协议的作用原理包括四个步骤: 1)连接:Web 浏览器与 Web 服务器建立连接,打开一个称为 socket(套接字) 的虚拟文件,此文件的建立标志着连接建立成功。 2)请求:Web 浏览器通过 socket 向 Web 服务器提交请求。HTTP 的请求一般 是 GET 或 POST 命令(POST 用于 FORM 参数的传递)。GET 命令的格式为:GET 路 径/文件名 HTTP/1.0。文件名指出所访问的文件,HTTP/1.0 指出 Web 浏览器使 用的 HTTP 版本。 3)应答:Web 浏览器提交请求后,通过 HTTP 协议传送给 Web 服务器。Web 服务器接到后,进行事务处理,处理结果又通过 HTTP 传回给 Web 浏览器,从而 在 Web 浏览器上显示出所请求的页面。 例:假设客户机与 www.172.19.68.117:8080/cq.htm 建立了连接,就会发送 GET 命令:GET cq.htm HTTP/1.0。主机名为 172.19.68.117 的 Web 服务器从它 的文档空间中搜索子目录的文件 cq.htm。如果找到该文件,Web 服务器把该文件 内容传送给相应的 Web 浏览器。 为了告知 Web 浏览器传送内容的类型,Web 服务器首先传送一些 HTTP 头信 息,然后传送具体内容(即 HTTP 体信息),HTTP 头信息和 HTTP 体信息之间用一 个空行分开。 1
常用的 HTTP 头信息有: ① HTTP 1.0 200 OK:这是 Web 服务器应答的第一行,列出服务器正在运行 的 HTTP 版本号和应答代码。代码“200 OK”表示请求完成。 ② MIME_Version:1.0:它指示 MIME 类型的版本。 ③ content_type:类型:这个头信息非常重要,它指示 HTTP 体信息的 MIME 类型。如:content_type:text/html 指示传送的数据是 HTML 文档。 ④ content_length:长度值:它指示 HTTP 体信息的长度(字节)。 4)关闭连接:当应答结束后,Web 浏览器与 Web 服务器必须断开,以保证其 它 Web 浏览器能够与 Web 服务器建立连接。 2
2.界面设计 2.1 服务器界面 作为服务器,即使是 GUI 界面,也应当简洁为好。本程序将服务器配置功能 以图形方式提供,但对于服务运行过程中的状态监控,仍旧采用字符显示方式。 本次使用了一个 ListBox 列表控件,将它的背景设置为黑色,并将其设置成为不 可选择,以模拟 Dos 命令行效果。界面显示如下图所示; 图 2.1 界面显示 2.2 服务器界面控件 软件工程名为“MyWebServer”,程序界面上个控件的属性描述如下表所示: 表 1-1 web 服务器界面控件描述 名称 控件类型 功能描述 frmWebServer Form 程序主窗体 listBoxStatusView ListBox 服务状态控制栏 tbxWebServerIp TextBox 填写服务 IP 地址 tbxWebServerPort TextBox 填写服务端口号 tbxWebRoot TextBox 设置填写根目录 3
btnStartStop Button 服务“启动/停止”按钮 4
3.实现流程 使用 TcpListener 类的方法实现,流程如下图所示。 (1)首先 web 服务器以 TcpListener 类建立服务器 socket,对某个端口进 行监听,实验中的端口号是 8080,以等待客户端连接该端口。 (2)处理客户端的连接:建立客户端连接,可以使用 TcpListener 类的 AcceptSocket 方法或者是 AcceptTcpClient 方法。AcceptSocket 方法可以接受 客户端的请求,并且建立与客户端的连接的 Socket。 (3)处理完数据传送或接受:使用 Socket 类的 Send 与 Receive 方法传输 及接受数据。 (4)完毕时,关闭 web 浏览器和 web 服务器的 Socket 连接。 图 3.1 web 服务器实现流程 5
分享到:
收藏