HTTP网页服务器和客户端的设计
成绩
《计算机通信网》 课程设计报告
(2011-2012 学年 2 学期)
报告题目:HTTP网页服务器和客户端的设计
课程名称: 计算机通信网 任课教师: 伍瑞卿 专 业: 电子信息工程 学 号: 2902103035 姓 名: 万 羽
二0 一二 年 6 月 27 日
摘要
关键词:LWIP1.3.0 网页服务器 客户端 一、课题概述
背景:超文本传送协议 (HTTP) 是一种通信协议,它允许将超文本标
记语言 (HTML) 文档从 Web 服务器传送到 Web 浏览器。HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。 关于服务器和客户端,通俗的说,服务器就是提供服务的机器,客户端就是接受服务的机器。 LwIP协议是一个设计精巧、适合多种操作系统甚至无操作系统,可应用到多种CPU平台上的小型TCP/IP协议栈。
目的:在LWIP上设计实现HTTP的网页服务器和可以与服务器按照HTTP
协议通讯的客户端。提高在网络通讯系统方面的动手实践开发能力,进一步提高C语言的
编程水平,熟悉操作系统的API调用。
要求:编写http的客户端程序,该客户端程序在LWIP的框架下完成,客
户端连接的服务端后下载的html页面数据,写入文件,再用IE、遨游、火狐等浏览器打开该页面即可。或将页面数据存放在Windows的磁盘上的文件里面,保留页面内容之间的关系,接收到http客户端请求后,从文件里面读出内容再发送到客户端。
二、设计思路及采取的方案
原理:LWIP的目录结构主要分为五个部分:
1.Api\\ : 应用程序接口文件,包括RAW,BSD以及正式提供的3种API。 2.Arch\\ :与硬件和OS有关的文件,包括网络驱动,移植需要修改的文件。
3.Core\\ :ICMP,IP,TCP,UDP协议的实现文件,以及一些辅助函数,LWIP实现的核心代码。
4.Include\\ :LWIP的包括文件。
5.Netif\\ :ARP协议和LWIP网络设备驱动程序的模板,用户为自己的网络接口设计的驱动 程序应该与ethernetif.c中给出的驱动框架相同。
组成:结构(Structure)、表现(Presentation)和行为(Behavior)
---头部
方案:可以按照其已有的数据存放格式和目录关联关系,用设计的主页去替换
相应的html数据。但是需要编写http的客户端程序,该客户端程序应该仍然在LWIP的框架下完成,只是客户端连接的服务端后下载的html页面数据,写入文件,再用IE、遨游、火狐等浏览器打开该页面即可。也可以将页面数据不存储数组中,而是存放在Windows的磁盘上的文件里面,但是保留,页面内容之间的关系,接收到http客户端请求后,从文件里面读出内容再发送到客户端。但是同样需要编写http的客户端程序,该客户端程序应该仍然在LWIP的框架下完成,只是客户端连接的服务端后下载的html页面数据,写入文件,再用IE、遨游、火狐等浏览器打开该页面即可。
关键问题及其拟解决方法:
可行分析:由于在该设计中LWIP TCP/IP协议实现的重点是在保持TCP协议主要功能的基础上减少处理和内存需求,因为LWIP使用无顺数据复制并经裁剪的API,一般它只需要几十KB的RAM和40KB左右的ROM就可以运行。同时LWIP可以移植到操作系统上,也可以在无操作系统的情况下独立运行。这使LWIP协议栈适合在低端嵌入式系统中使用。所以基本可行。
三、实现与结果
设计步骤及主要流程:首先完成准备步骤,安装WinPcap_4_0_2.exe
1、 解压LwIP-1.3.0.rar到指定的工作目录下(注意 该工作目录的全路径中不能有空
格),解压WpdPack_4_0_2.zip到工作目录下(注意 该工作目录的全路径中不能有空格)。
2、 添加Windows系统环境变量LWIP_DIR,取值为 %\\LwIP-1.3.0\\LWIP的全路径(注意,完全路径会因LwIP.1.3.0存放的目录不同而不同!!)。具体操作方式是:运行%\\LwIP-1.3.0\\LWIP文件夹内的批处理文件SetEnvVar_LwIP_DIR.bat
3、 添加Windows系统环境变量PCAP_DIR,取值为WpdPack_SDK_4_0_2的全路径(注意,全路径会因你存放WpdPack_SDK_4_0_2的目录不同而不同!!)。具体操作方式是:运行 %\\ WpdPack_4_0_2\\ WpdPack\\ 文件夹内的批处理文件SetEnvVar_PCAP_DIR.bat
4、 在Windows上将可用的有线以太网卡的IP地址设为固定IP地址(设为动态的也可以,但需要特别注意第6步设置),并用双绞线与其他计算机相连(可以通过hub或者switch)
5、 在LWIP中设置网络参数:
1)设定网卡号:
当用提供的源程序程序编译后,生成可执行程序。运行可执行程序时,程序会枚
举Windows上活动的网卡,并列举出来。如下图所示:
此时输入网卡的序号,则该网卡号是指程序运行后会枚举所有可用的网卡,并按照先后顺序编号。如果仅有一个网卡,则为0,如果多个网卡,则设置网卡为可用的以太网卡。
2)设置IP地址、网关地址、网络掩码。注意 此处IP地址是不能与Windows上网卡所设置的IP地址相同,但是应该在同一个网段内的IP地址。比如选用的1号网卡,而该网卡的Windows IP地址 192.168.1.110,则可以将LwIP的IP地址设为局域网中未使用的192.168.1.112.。配置LwIP的IP地址是在:LwIPcfg_msvc.h文件中的宏定义。
然后按照方案中步骤实现之后的过程。
结果说明及其分析:通过在本机打开如下程序
然后通过一系列设置地址等步骤后通过浏览器打开链接得到如下结果:
四、总结与体会(包括:设计中遇到的问题及解决过程;设计中产生的错误及原因分析;设计体会和收获):
经过这次的课程设计,让我对HTTP网站的基本结构的设计有了初步的掌握,也对HTTP协议在网络中的结构和本身协议在传输的作用有了进一步的认识,可以将课堂上学习到的知识用于实践。实验中完成的系统实现了远程登录服务器、浏览本地与服务器目录文件等功能需求,从而实现了一个简易的HTTP客户端软件。但是它的链接有时还不是很稳定,仍然有部分不足,有待改进,这对以后的设计会起到借鉴作用。
5.主要参考文献
计算机网络 (清华大学出版社 张曾科 编著)
http://wenku.baidu.com/view/b1432621ccbff121dd3683ee.html http://wenku.baidu.com/view/9fc10d6c1eb91a37f1115c86.html
6.附录(主要原程序代码、注释、文档及运行结果示意图等)
因篇幅问题不能全部显示,请点此查看更多更全内容
相关资讯
热门话题
热门图文
-
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
-
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
-
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
-
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
-
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁