UNIX環境C語言程式設計 13 高階程序間通訊

2021-06-28 16:14:14 字數 1104 閱讀 3716

1、unix

域的socket •

與internet

域的socket

機制相比,

unix

域的socket

更有效: •

1、無需執行協議處理   

2、無需計算校驗和   

3、無需產生順序號   

4、無需確認 •

缺點是,只能在同乙個主機上通訊

•先看一下

socketpair

函式,建立一對連線的

unix

域socket •

#include socket.h

> •

int

socketpair

(int

domain,

inttype,

intprotocol,

int

sockfd

[2]);

•命名unix

域socket

#include #include #include #include int main(void)

size = (int)((long)(&((struct sockaddr_un *)0)->sun_path));

size += strlen(un.sun_path);

if( bind(fd, (struct sockaddr *)&un, size) < 0 )

printf("unix domain socket bound\n");

exit(0);

}

•剩餘的操作與

internet

域的socket

機制類似,如:

listen

、accept …

2、傳遞檔案描述符 •

檔案描述符在程序間傳遞是可行的 •

傳送程序與接收程序共享同乙個

file table

項,類似

fork

之後父子程序間描述符的的關係

unix環境高階程式設計

unix 日曆時間 自1970 年1 月1 日00 00 00 以來的國際標準時間 utc 程序時間 cpu 時間 時鐘時間 程序執行時間的總量。使用者cpu 時間 執行使用者指令時間量。系統cpu 時間 執行核心所經歷時間。命令 time 第三章至第七章 原子操作 任何乙個要求多於1 個函式呼叫的...

unix環境高階程式設計

檔案描述符file descriptor通常是乙個小的非負整數,核心用以標識乙個特定程序正在訪問的檔案。當核心開啟乙個現有檔案或建立乙個新檔案時,它都返回乙個檔案描述符。在讀寫檔案時,可以私用這個檔案描述符。按管理,每當執行乙個新程式時,所有的shell都為其開啟了3個標準檔案描述符 標準輸入,標準...

UNIX環境高階程式設計

本書是被譽為unix程式設計 聖經 的advanced programming in the unix environment一書的更新版。在本書第1版出版後的十幾年中,unix行業已經有了巨大的變化,特別是影響unix程式設計介面的有關標準變化很大。本書在保持了前一版風格的基礎上,根據最新的標準對...