Socket網路程式設計總結

2022-09-03 19:42:11 字數 1312 閱讀 1054

1.sockaddr結構體

sockaddr結構體包含了網路位址和埠的一些資料。以下三個函式實現了字串轉sockaddr結構體的功能。

1

int inet_aton(const

char *strptr, struct in_addr *addrptr);

2 in_addr_t inet_addr(const

char *strptr);

3int inet_pton(int family, const

char *strptr, void *addrptr);

in_addr轉字串的函式:

1

char *inet_ntoa(struct

in_addr inaddr);

2const

char *inet_ntop(int family, const

void *addrptr, char *strptr, size_t len);

2.連線時的相關函式,首先是server端

int sockfd(int family, int type, int protocol)  

family是指明是ipv4還是ipv6的引數,平常我們用的ipv4是af_inet。type是指的是面向連線還是資料報的選項,分別是sock_stream以及sock_dgram。protocal是協議名,一般預設為0即可。

int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen)

sockfd是之前的fd,myaddr以及addrlen是sockaddr的位址以及相應的長度。

int listen(int sockfd, int backlog)

sockfd是相應的檔案描述符,backlog指的是可以有監聽多少個客戶端。

int accept(int sockfd, struct sockaddr *myaddr, socklen_t addrlen)

sockfd為相應的檔案描述符,myaddr 以及addrlen為相應的位址和字元長度。

ssize_t write(int fd, const void *buf, size_t count);

ssize_t read(int fd, const void *buf, size_t count);

返回寫入與讀出的位元組數

close(int fd)

int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);

網路程式設計 Socket程式設計

一 網路部分 1.ip 2.埠號 在網路協議中使用埠號識別主機上不同的程序,不同的埠對應於不同的服務 應用程式 3.協議 tcp二 socket部門socket通訊基本流程圖 根據socket通訊基本流程圖,總結通訊的基本步驟 伺服器端 第一步 建立乙個用於監聽連線的socket對像 第二步 用指定...

socket網路程式設計

首先認識乙個表示主機資訊的結構體 struct hostent h addrtype 這是表示主機所使用的位址型別的定義,在c語言winsock2.h標頭檔案中以 af 開頭的巨集定義就是它的值。如果使用的是ipv4,則值為 af inet 如果是ipv6,值為 af inet4 h length ...

Socket網路程式設計

socket 網路程式設計 在c free中建立乙個對話方塊工程,取名socket1,建立如下檔案結構 main.h ifndef main h define main h include bool winapi main proc hwnd hwnd,uint umsg,wparam wparam...