本节主要介绍UNIX网络编程卷1(第三版)在Ubuntu16.04的配置问题,并运行一个简单时间获取客户程序。
- 首先下载源文件,链接如下:http://www.unpbook.com/src.html
- 将下载好的压缩文件unpv13e.tar.gz解压,解压后文件为unpv13e.
- 解压后进入源码目录,打开README文件:
- 按照提示首先在命令行执行 ./configure,没有问题。
- 执行 cd lib 进入lib文件夹,执行make命令,没有问题。
- 执行 cd ../libfree进入libfree文件夹,执行make命令,会遇到以下问题:
错误解决办法是:进入libfree文件夹,打开inet_ntop.c,在第60行将size_t size改为socklen_t size。
- 再执行第6步,问题解决。
- 在命令行执行 cd ../intro/,进入intro文件夹,
- 执行 make daytimetcpcli,生成可执行文件后,
- 执行 ./daytimetcpcli 127.0.0.1 会出现以下问题:
Connection refused
- 运行时间获取程序,需要现在ubuntu里安装时间服务
执行以下命令
sudo apt-get install xinetd sudo vi /etc/xinetd.d/daytime
将图中的两个disable的值改为no:
service xinetd restart
- 重新执行./daytimetcpcli 127.0.0.1,结果如图