粗略的閱讀過《TCP/IP詳解》和《計算機網絡(第五版)》後,開始啃這本《UNIX網絡編程卷一:套接字聯網API》,目前Linux下的編程不算太了解,在閱讀的過程中也會有很多障礙,希望自己堅持下去。
UNIX網絡編程卷1:套接字聯網API(第3版) 中文高清帶完整書簽 PDF 下載見 http://www.linuxidc.com/Linux/2014-04/100222.htm
源代碼下載地址:點擊這裡 , 下載下來得到unpv13e.tar.gz文件
編譯步驟:
解壓縮zxvf unpv13e.tar.gz
tar zxvf unpv13e.tar.gz
進入unpv13e文件夾中
cd /unpv13e
./configure//如果權限不夠可以chmod改權限
編譯lib文件
cd lib
make
cd ../libfree
make
cd ../libgai
make
修改unp.b,將#include “../config.h”修改為 #include “config.h”
cd .. //回到主目錄
sudo vim lib/unp.h
拷貝頭文件到include
sudo cp config.h /usr/local/include
sudo cp lib/unp.h /usr/local/include
拷貝庫文件
sudo cp libunp.a /usr/local/lib
到此,unix網絡編程一書上的代碼都可以編譯了。
以示例intro/daytimetcpcli.c為例:
編譯daytimetcpcli.c文件
cd ./intro
gcc daytimetcpcli.c -o daytimetcpcli -lunp
運行
./daytimetcpcli 127.0.0.1
測試的時候會出現如下錯誤
connect error:Connection refused
在Ubuntu系統下需要開啟daytime,可通過xinetd來實現對服務連接請求的控制
cd /etc/xinetd.d/
sudo apt-get install xinetd
然後編輯daytime
vim daytime
將文件中的兩個disable後面的yes改成no,保存退出
重啟xinted.d
service xinetd restart
再次測試daytimetcpcli例子,
./daytimetcpcli 127.0.0.1
得到正確的結果
01 JUL 2016 15:41:15 CST
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2016-09/135175p2.htm