網路程式設計5 本地套接字

2021-10-01 06:33:03 字數 1789 閱讀 4342

本地套接字是程序間通訊的一種方式,除了本地套接字外還有管道、訊息佇列等

lib/common.h

#ifndef __common_h__

#define __common_h__

#include

#include

#include

#include

#include

#include

#include

#include

#include

#endif

server.c

#include

#include

#include

#include

"lib/common.h"

#define maxline 1024

intmain()

listen

(sockfd,0)

;int client_len =

sizeof

(client_addr)

;int fd;if(

(fd =

accept

(sockfd,

(struct sockaddr*

)&client_addr,

&client_len)

)<0)

char buf[maxline]

;while(1

) buf[n]=0

;printf

("buf: %s\n"

, buf)

;strcpy

(buf,

"recived");

if(write

(fd, buf,

strlen

(buf))!=

strlen

(buf))}

close

(fd)

;close

(sockfd)

;return0;

}

client.c

#include

#include

#include

#include

"lib/common.h"

#define maxline 1024

intmain()

struct sockaddr_un server_addr;

server_addr.sun_family = af_local;

strcpy

(server_addr.sun_path,

"/home/grape/test/test.sock");

if(connect

(sockfd,

(struct sockaddr*

)&server_addr,

sizeof

(server_addr)

)<0)

char buf[maxline]

;while

(scanf

("%s"

, buf)

!=eof

)int n =

read

(sockfd, buf, maxline);if

(n ==0)

buf[n]=0

;printf

("ret: %s\n"

, buf);}

return0;

}

本地套接字使用sock_dgram的時候,使用和ipv4網路套接字相同

Linux網路程式設計(7)本地套接字通訊

tcp本地套接字通訊 為了實現沒有血緣關係的程序之間通訊,通常會採用本地套接字進行通訊,在兩個程序分別繫結好了套接字檔案 sock 執行程式後將產生兩個套接字檔案,這兩個檔案共享同一片核心緩衝區,核心將完成兩個程序之間的資料傳輸 在不同通訊中採用不同的結構體 實現流程 tcp實現 伺服器 1.建立套...

網路套接字程式設計

1。位元組序 小位元組 低位儲存在低位元組 大位元組 低位儲存在高位元組 簡單程式判斷 int islittle 2.hostent結構 struct hostent define h addr h addr list 0 這裡是這個資料結構的詳細資料 struct hostent h name 位...

網路程式設計套接字

建立 函式原型 int socket int domain int type int protocol 引數說明 domain 協議域,又稱協議族 family 常用的協議族有af inet af inet6 af local 或稱af unix,unix域socket af route等。協議族決...