搭建环境
在电脑(Windows)上下载虚拟机程序,安装ubuntu,具体教程网上一搜就有,这里不再细讲
程序编译运行
程序下载
CSAPP的代码位于http://csapp.cs.cmu.edu/public/code.html,在这里面找到tiny.c、csapp.h、csapp.c和adder.c 可以直接在Ubuntu里的火狐浏览器里输入网址下载,或者在Windows里下载好,通过虚拟机共享文件夹拷贝过去
程序文件夹
在Ubuntu中新建一个空文件夹TINY_Test,在其内部新建空文件夹cgi-bin 将tiny.c、csapp.c和csapp.h拷贝到TINY_Test内,将adder.c拷贝到cgi-bin内
程序编译
进入TINY_Test文件夹,打开csapp.h文件,在最后一句#endif /* CSAPP_H */前添加#include"csapp.c",然后保存文件,然后打开tiny.c文件,做如下更改后保存
listenfd = Open_listenfd(argv[1]);
listenfd = Open_listenfd(atoi(argv[1]));
右键选择在终端中打开,输入命令
gcc -O1 tiny.c csapp.c -o tiny -lpthread
进入cgi-bin文件夹,右键选择在终端中打开,输入命令
gcc -O1 adder.c -o adder
注:若还没有安装gcc,可以网上搜索ubuntu中如何安装gcc
程序运行
进入TINY_Test文件夹,右键选择在终端中打开,输入命令,其中2000是监听的端口号,可以自己取,在1024~49151以内都行
./tiny 2000
至此,该服务器程序就开始运行了,并监听2000号端口,等待外部的请求
程序测试
下载一张图片放在TINY_Test文件夹内,改个简短的名字test.jpg 在TINY_Test文件夹内新建一个html文件,右键选择在终端中打开,输入touch home.html即可,打开html文件,输入如下内容后保存
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Welcome to Tiny Web Server</h1>
</body>
</html>
浏览器测试
使用Ubuntu内的火狐浏览器,其中localhost就是只本机,2000是指端口号
使用windows里的浏览器,自己的电脑或者别人的电脑都行,192.168.76.128是我的电脑上虚拟机的IP地址,可以网上搜索如何查询虚拟机的IP地址
telnet测试
使用Ubuntu里的telnet工具,使用HTTP请求 Ubuntu里Ctrl+Shift+N新建一个终端窗口,输入红框内的telnet命令后系统会显示连接成功,然后输入蓝框内的HTTP请求报文,按两次回车,会收到绿框内的HTTP响应报文
|