下载地址: http://www.unpbook.com
解压该文件
tar -zxvf unpv13e.tar.gz
首先进行编译,在目录unpv13e下依次执行
./configure
cd lib
make
cd ../libfree
make
这个遇见错误如下
解决方法: 将inet_ntop.c 60行的 size_t size 改为 socklen_t size即可
cd ../libgai
make
将生成的libunp.a 静态库复制到/usr/lib/和/usr/lib64/中
在unpv13e目录中
sudo cp libunp.a /usr/lib
sudo cp libunp.a /usr/lib64
修改unp.h并将其和config.h复制到/usr/include 中
vim lib/unp.h //将#include “../config.h” 改为#include “config.h”
sudo cp lib/unp.h /usr/include
sudo cp config.h /usr/include
编译本书例子时必须加上静态链接库: -lunp
cd ./intro
gcc daytimetcpcli.c -o daytimetcpcli -lunp
./daytimetcpcli 127.0.0.1
测试获取本机当前时间出现错误:
connect error: Connection refused
该错误表示daytime服务程序没开
开启方法:
1、需要安装xinetd服务
sudo apt-get install xinetd
2、修改/etc/xinetd.d/daytime以及/etc/xinetd.d/echo文件,将这两个文件中的两个disable的值yes改为no
3、重启xinetd服务
sudo /etc/init.d/xinetd restart
再重新运行
./daytimetcpcli 127.0.0.1
即得到本机当前时间。