Unix 網路程式設計卷1

2021-07-03 12:59:07 字數 1608 閱讀 6057

伺服器被動開啟(passive open):socketbindlisten。客戶端通過socketconnect主動開啟(active open)。acceptconnect是阻塞的

// 把目標位元組串指定數目的位元組置為c

void *memset(void *dest, int c, size_t len);

// 將指定數目的位元組從原位元組移到目標字串

void *memcpy(void *dest, const

void *src, size_t nbytes);

// 比較位元組串,相同返回0

intmemcpy(const

void *ptrl, const

void *ptr2, size_t nbytes);

位元組流套接字呼叫read或者write輸入或者輸出的位元組數可能比請求的數量少,然而這不是出錯的狀態,這是因為核心中用於套接字的緩衝區肯能已經達到了極限。

基於文字行的網路協議:smtp、http、ftp等

//子程序返回0,父程序返回子程序id

pid_t fork(void);

//exec把當前程序映像替換成新的程式檔案,程序id不變

6個exec函式不同:

大多數tcp伺服器是併發的,它們為每個待處理的客戶鏈結呼叫fork派生乙個子程序。大多數udp伺服器卻是迭代的。

UNIX網路程式設計卷1 第1章 簡介

要編寫通過計算機網路通訊的程式,首先要確定這些程式相互通訊所用的協議。一般認為web伺服器程式是乙個長時間執行的程式 守護程式,daemon 它只在響應來自網路的請求時才傳送網路訊息。協議的另一端是web客戶程式,如某種瀏覽器,與伺服器程序的通訊總是由客戶程序發起。在設計網路應用時,確定總是由客戶發...

《UNIX網路程式設計 卷1》 筆記 UNIX域協議

unix域協議並不是乙個實際的協議族,而是在單個主機上客戶程序和伺服器程序之間通訊的一種方法。unix域使用的套接字結構如下 struct sockaddr un int main int argc,char argv 執行結果如下 可以看到繫結的路徑名 tmp 123 現在是乙個套接字檔案。uni...

套接字選項(摘抄自unix網路程式設計卷1)

int getsockopt int sock,int level,int optname,void optval,socklen t optlen int setsockopt int sock,int level,int optname,const void optval,socklen t o...