學習總結 UNIX網路程式設計使用原始碼配置

2022-03-23 09:23:02 字數 2100 閱讀 7368

卷1 套接字聯網api

1、獲取原始碼

官網好像沒有第三版的**。

2、解壓

$tar zxvf unpv13e.tar.gz

3、編譯

$cd unpv13e

$./configure

$cd lib

$make

$cd ../libfree

$make

$cd ../libgai

$make

卷2 程序間通訊

1、獲取**

由於沒找到第三版的,所以只好用第二版

wget

2. 解壓:

$tar -zxvf unpv22e.tar.gz

3. 編譯:

$cd unpv22e

$ ./configure

$ cd lib

$ make

會出現幾個錯誤,注釋unpipc.h第115行、479行、480行。

刪除../make.defines中的wrapsunrpc.o

再次make。搞定

為了方便單個檔案編譯,將unp.h或unpipc.h中的include "../config.h" 改成include "config.h"。再將config.h和unp.h或unpipc.h拷到/usr/include中。

由於兩個confg.h有些不一樣,所以把兩個config.h分別修改為unpconfig.h和unpipcconfig.h。同時unp.h和unpipc.h中包含的標頭檔案也要修改。

再將libunp.a和libunpipc.a拷到/usr/lib中。

這樣在練習的時候可以直接-lunp或-lunpipc來編譯。

---恢復內容結束---

卷1 套接字聯網api

1、獲取原始碼

官網好像沒有第三版的**。

2、解壓

$tar zxvf unpv13e.tar.gz

3、編譯

$cd unpv13e

$./configure

$cd lib

$make

$cd ../libfree

$make

$cd ../libgai

$make

卷2 程序間通訊

1、獲取**

由於沒找到第三版的,所以只好用第二版

wget

2. 解壓:

$tar -zxvf unpv22e.tar.gz

3. 編譯:

$cd unpv22e

$ ./configure

$ cd lib

$ make

會出現幾個錯誤,注釋unpipc.h第115行、479行、480行。

刪除../make.defines中的wrapsunrpc.o

再次make。搞定

為了方便單個檔案編譯,將unp.h或unpipc.h中的include "../config.h" 改成include "config.h"。再將config.h和unp.h或unpipc.h拷到/usr/include中。

由於兩個confg.h有些不一樣,所以把兩個config.h分別修改為unpconfig.h和unpipcconfig.h。同時unp.h和unpipc.h中包含的標頭檔案也要修改。

再將libunp.a和libunpipc.a拷到/usr/lib中。

這樣在練習的時候可以直接-lunp或-lunpipc來編譯。

tips:libunpipc.a直接編譯會鏈結錯誤,由於用到posix 訊息佇列的api需要鏈結librt庫,所以在後面加上-lrt編譯選項即可。

Unix網路程式設計學習日記

今天開始拜讀 unix網路程式設計 找到的源 在linux下有各種問題,最後決定還是自己從頭寫比較好。從第乙個時間服務程式開始學習。今天先看一下主要的標頭檔案的作用。在common.h中 參照 unp.h 自己寫的,包含常用標頭檔案和一些常量定義,用著方便 有以下的標頭檔案 sys types.h ...

UNIX網路程式設計總結 基礎篇

在網路通訊中客戶 伺服器這種模式可以說是最普遍的,而我們所說的套接字程式設計,就是利用一層在應用層與運輸層的介面,來編寫應用程式,我們的資訊以此在網路中互動。另外在以後的高階部分我們還將看到繞過傳輸層的原始套接字甚至繞過ip層直接讀取鏈路層的幀 1.那麼為什麼套接字提供的是應用層與運輸層間的介面呢?...

UNIX網路程式設計學習 五 UDP程式設計

udp相比tcp是無連線的。它收發資料是通過recvfrom和sendto兩個函式。它們的原型如下 ssize t recvfrom int sockfd,void buff,size t nbytes,int flags,struct sockaddr from,socklen t addrlen...