《UNIX网络编程 卷1:从入门到放弃》上的代码和《UNIX环境高级编程》等书相似,需要下载与书配套的代码源文件放入环境变量中方可正确运行。
1. 下载unp.h等源文件。
到http://www.unpbook.com上下载源代码(Source Code)。
2. 解压下载的unpv13e.tar.gz文件,并进入unpv13e文件夹。
cd unpv13e/
3. 编译
有README文件的一定要点开看!
执行以下命令:
./configure
cd lib
make
cd ../libfree
make
执行到这一步,报错:
error: conflicting types for ‘inet_ntop’
打开inet_ntop.c文件,注释#include
make
4. 将unp.h文件和静态链接库libunp.a放入系统目录
cd ..
vim ./lib/unp.h
将#include “../config.h”改成:#include “config.h”
拷贝头文件:
sudo cp ./config.h /usr/local/include
sudo cp ./lib/unp.h /usr/local/include
拷贝库文件
sudo cp ./libunp.a /usr/local/lib
大功告成???
怎么可能?!
5. 编译一下书中例子。
cd ./intro
make
gcc daytimetcpcli.c -o daytimetcpcli -lunp
./daytimetcpcli 127.0.0.1
然后报错:
connect error:Connection refused
默认daytime未开启。
可以进行如下操作:
sudo ./daytimetcpsrv
然后等等等。。。
执行:
./daytimetcpcli 127.0.0.1
运行成功!
Sat May 19 19:15:10 2018