本节主要介绍UNIX网络编程卷1(第三版)在Ubuntu16.04的配置问题,并运行一个简单时间获取客户程序。

1.首先下载源文件,链接如下:UNIX Network Programming Source Code

2.将下载好的压缩文件unpv13e.tar.gz解压,解压后文件为unpv13e.

3.解压后进入源码目录,打开README文件:

4.按照提示首先在命令行执行   ./configure,没有问题。

5.执行 cd lib 进入lib文件夹,执行make命令,没有问题。

6.执行 cd ../libfree进入libfree文件夹,执行make命令,会遇到以下问题:

错误解决办法是:进入libfree文件夹,打开inet_ntop.c,在第60行将size_t size改为socklen_t size

7.再执行第6步,问题解决。

8.在命令行执行  cd ../intro/,进入intro文件夹,

   执行  make daytimetcpcli,生成可执行文件后,

   执行  ./daytimetcpcli 127.0.0.1   会出现以下问题:

Connection refused

运行时间获取程序,需要现在ubuntu里安装时间服务

9.执行以下命令

  • sudo apt-get install xinetd 
  • sudo vi /etc/xinetd.d/daytime

将图中的两个disable的值改为no:

  • service xinetd restart

10.重新执行./daytimetcpcli 127.0.0.1,结果如图

运行正确。

更多推荐

1.UNIX网络编程卷1:源码配置