20145328《信息安全系统设计基础》实验五 网络通信
与20145232韩文浩结对
实验目的
- 掌握在 ARM 开发板实现一个简单 WEB 服务器的过程 。
- 学习在 ARM 开发板上的 SOCKET 网络编程 。
- 学习 Linux 下的 signal()函数的使用 。
实验内容
- 学习使用 socket 进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,阅读 HTTP 协议的相关内容,学习几个重要的网络函数的使用方法。
- 读懂 HTTPD.C 源代码。在此基础上增加一些其他功能。在 PC 计算机上使用浏览器测试嵌入式 WEB服务器的功能。
实验过程
1 、阅读理解源码
- 进入07_httpd 目录,使用 vi 编辑器或其他编辑器阅读理解源代码
2 、编译应用程序
- 运行 make 产生可执行文件 httpd
[root@zxt /]# cd /arm2410cl/exp/basic/07_httpd/
[root@zxt 07_httpd]# make
armv4l-unknown-linux-gcc -DHTTPD_DOCUMENT_ROOT="/mnt/yaffs" -c -o httpd.o httpd.c
armv4l-unknown-linux-gcc -DHTTPD_DOCUMENT_ROOT="/mnt/yaffs" -c -o copy.c
armv4l-unknown-linux-gcc -o ../bin/httpd httpd.o copy.o -lpthread
armv4l-unknown-linux-gcc -o httpd httpd.o copy.o -lpthread
[root@zxt 07_httpd]# ls
copy.c doc httpd httpd.o Makefile
copy.o Google httpd.c index.html Makefile.bak
3 、下载调试
- 使用 NFS 服务方式将 HTTPD 下载到开发板上,并拷贝测试用的网页进行调试,本例中用的是 index 测试网页。
[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.234:/home/bc /host
[/mnt/yaffs]cd /host/exp5/exp5/ws/07_httpd/
[/host/exp5/exp5/ws/07_httpd/]./httpd
starting httpd...
press q to quit.
wait for connection.
4 、本机测试
- 在台式机的浏览器中输入 http://192.168.0.121(111 为 UP-CUP S2410 实验板的 IP地址),观察在客户机的浏览器中的连接请求结果和在开发板上的服务器的打印信息。
实验过程中遇到的问题以及解决方案
编译出现问题。查看Makefile文件可知是在上级目录中缺少一个bin文件夹,添加后编译成功