linux網路程式設計(unix域流式套接字)

2021-07-03 06:55:25 字數 1168 閱讀 6363

unix域套接字--流式

1. 標頭檔案

#include

2. 資料結構

struct sockaddr_un ;

3. 服務端流程

1. 建立套接字

sockfd = socket(af_unix, sock_stream, 0);

2. 繫結位址到socket

struct sockaddr_un server_addr;

server_addr.sun_family = af_unix;

strcpy(server_addr.sun_path, "mypath");

ret = bind(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));

3. 設定為監聽模式

ret = listen(sockfd, 10);

4. 接收請求

clientfd = accept(sockfd, null, null);

5. 接收資料

ret = recv(clientfd, buf, sizeof(buf), 0);

6. 傳送資料

ret = send(clientfd, buf, len, 0);

7. 關閉套接字

close(clientfd);

close(sockfd);

4. 客戶端流程

1. 建立套接字

sockfd = socket(af_unix, sock_stream, 0);

2. 連線伺服器

struct sockaddr_un server_addr;

server_addr.sun_family = af_unix;

strcpy(server_addr.sun_path, "mypath");

ret = connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));

3. 傳送資料

ret = send(clientfd, buf, len, 0);

4. 接收資料

ret = recv(clientfd, buf, sizeof(buf), 0);

5. 關閉套接字

close(sockfd);

UNIX網路程式設計 流(三十一)

unix網路程式設計 流 三十一 一 概述 了解網路協議在流框架中的實現機制。使用傳輸提供者介面開發乙個簡單的tcp客戶程式。tpi是在基於流的系統上xti和套接字通常使用的傳輸層訪問介面。二 概貌 流在程序和驅動程式之間提供全雙公的鏈結。流頭由一些核心例程構成,應用程序針對流描述符執行系統呼叫 例...

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

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

UNIX網路程式設計

在unix network programming 的 3.7 inet pton and inet ntop functions 中提到中有如下兩個巨集定義 define inet addrstrlen 16 for ipv4 dotted decimal define inet6 addrstr...