20135202闫佳歆20135220谈愈敏-实验五
北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全系统设计基础 班级: 1352
姓名:闫佳歆 谈愈敏 学号:20135202 20135220
成绩: 指导教师:娄佳鹏 实验日期:2015.11.17
实验密级: 预习程度: 实验时间:15:30-18:00
仪器组次: 必修/选修:必修 实验序号:5
实验名称: 简单嵌入式WEB服务器实验
实验目的与要求:
1、掌握在ARM开发板实现一个简单的WEB服务器的过程。
2、学习在ARM开发板上的SOCKET网络编程。
3、学习Linux下的signal()函数的使用。
实验仪器:
名称 |
型号 |
数量 |
arm |
UP-TECH |
1 |
PC机 |
XP |
1 |
虚拟机 |
REDHAT |
1 |
实验内容、步骤与体会:
1、实验过程的理解,实验指导书中知识点的理解。
(1)对代码的主程序的算法流程的大致理解
设置信号处理句柄—>进入根目录—>命令行处理—>建立TCP流SOCKET—>绑定监听端口—>设置允许客户—>连接数量—>侦听客户连接请求—>客户连接请求处理
(2)使用make命令产生可执行文件httpd
老师给了代码包,只要按照实验指导书上走,一个make命令就直接编译完了,再次查看文件夹时就可以发现已经生成httpd可执行文件,然后使用NFS服务方式将httpd可执行文件下载到超级终端中,运行完之后是等待连接的界面,在本机浏览器上输入ARM实验机的IP就可以看到google界面。但是这一步看似简单也遇到了一些问题,如下。
2、实验过程中遇到的问题以及解决方案。
(1)Make编译问题及解决方案
问题:在按照实验指导书中使用make编译时,出现无法编译的问题。
解决:找到了原因,是拷代码时没有将一个Rules.mak的MAK类型文件一起拷过来,导致make命令不能使用,拷过来之后再尝试使用make命令,本来应该出现四行编译命令,却发现最后一行编译命令出现乱码,后续解决如下。
(2)后续make问题及解决方案
解决:刚开始我以为乱码只是显示问题,并没有影响编译结果,结果发现不能运行,因为并没有生成httpd可执行文件,然后我又手动编译了最后一行的gcc代码,就生成了httpd可执行文件,然后按照正常步骤走,运行,本机浏览器上输入ARM实验机的IP就可以看到google界面。实验就成功了。