學Linux下的網路程式設計,stevens的《UNIX網路程式設計 卷一》不可不看。經典中的戰鬥機。

本文記錄實驗環境的搭建過程。

本人linux用的是Centos 6.4 。

1、下載原始碼

得到原始碼包: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”即可~