網路socket程式設計 linux C

2021-08-31 16:23:01 字數 1394 閱讀 6256

1、int socket(int family,int type,int protocol)

family:

指定使用的協議簇:af_inet(ipv4) af_inet6(ipv6) af_local(unix協議) af_route(路由套接字) af_key(秘鑰套接字)

type:

指定使用的套接字的型別:sock_stream(位元組流套接字) sock_dgram

protocol:

如果套接字型別不是原始套接字,那麼這個引數就為0

2、int bind(int sockfd, struct sockaddr *myaddr, int addrlen)

sockfd:

socket函式返回的套接字描述符

myaddr:

是指向本地ip位址的結構體指標

myaddrlen:

結構長度

struct sockaddr;

struct sockaddr_in;

3、int connect(int sockfd,const struct sockaddr *serv_addr,socklen_t addrlen)

sockfd:

socket函式返回套接字描述符

serv_addr:

伺服器ip位址結構指標

addrlen:

結構體指標的長度

4、int listen(int sockfd, int backlog)

sockfd:

socket函式繫結bind後套接字描述符

backlog:

設定可連線客戶端的最大連線個數,當有多個客戶端向伺服器請求時,收到此值的影響。預設值20

5、int accept(int sockfd,struct sockaddr *cliaddr,socklen_t *addrlen)

sockfd:

socket函式經過listen後套接字描述符

cliaddr:

客戶端套接字介面位址結構

addrlen:

客戶端位址結構長度

6、int send(int sockfd, const void *msg,int len,int flags)

7、int recv(int sockfd, void *buf,int len,unsigned int flags)

sockfd:

socket函式的套接字描述符

msg:

傳送資料的指標

buf:

存放接收資料的緩衝區

len:

資料的長度,把flags設定為0

Linux網路程式設計 socket程式設計

套接字是在進行網路連線時最重要的部分之一!套接字socket就相當於是,乙個檔案操作符,不佔空間。但是這個套接字對應這兩個緩衝區 傳送端緩衝區和接收端緩衝區,如下圖所示。兩個套接字的連線就是通過ip和埠。1.3.1 ip轉換函式 其一,該函式比較常用,在linux幫助手冊的第11章 標頭檔案 inc...

linux網路程式設計 SOCKET

今天在工作中接觸到了tcp,專案需求是利用海思平台將獲取到的相機資料通過網路將資料傳送給上位機。利用這個機會好好學習了一下網路這方面的東西。socket 相關的結構體 struct sockaddr in 在使用過程中一般需要初始化的引數一般是sin family sin port和sin addr...

linux網路程式設計之Socket

一.socket socket可看作是使用者程序與核心網路協議的程式設計介面.socket可用於本機程序間的通訊,也可用於網路上不同主機間的程序通訊.下圖顯示的是各種網路協議的位址格式 1.struct socketaddr 通用位址結構 通過獲取某種socketaddr結構體的首位址,不需要知道具...