《UNIX网络编程》实验环境搭建、unp.h

学Linux下的网络编程,stevens的《UNIX网络编程 卷一》不可不看。经典中的战斗机。

本文记录实验环境的搭建过程。

本人linux用的是Centos 6.4 。


1、下载源码

随便google一下都能找到,也可以从官网下载http://unpbook.com/unpv13e.tar.gz

得到源码包:unpv13e.tar.gz

2、解压

tar -zxvf unpv13e.tar.gz

3、编译

cd unpv13e

阅读README

依次执行一下几个命令:

./configure

cd lib

make

cd ../libfree

make

#这时会在unpv13e目录下生成libunp.a库


cd ../intro

make daytimetcpcli#书中第一章中的第一个例子

./daytimetcpcli 127.0.0.1

4、常见问题

上述运行,如果显示时间,就ok了。

如果显示connect error:Connection refused。表明你的daytime服务没有开启。或者压根就没有安装该服务。

如果 /etc/xinetd.d/下没有这些文件,chargen-dgram  chargen-stream  daytime-dgram  daytime-stream  discard-dgram  discard-stream  echo-dgram  echo-stream  tcpmux-server  time-dgram  time-stream,说明你没有安装该服务。

安装即可:yum install xinetd

修改 daytime-dgram和daytime-stream 中的disable=yes为disable=no

开启服务:service xinetd start


*********************哥哥哥哥哥*******************************

上面是在提供的源码包中进行的操作。如果后续要自己使用unp.h,怎么办?

1、首先将上述libunp.a复制到/usr/lib下

2、cp lib/unp.h /usr/include

3、cp config.h /usr/include

4、vim /usr/include/unp.h

将#include "../config.h"=======>#include "config.h"

5、cp lib/error.c /usr/include#这里面包含了stevens对一些出错函数的封装,相当不错~

写程序是#include “error.c”即可~




你可能感兴趣的:(linux)