学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”即可~