1.sockaddr結構體
sockaddr結構體包含了網路位址和埠的一些資料。以下三個函式實現了字串轉sockaddr結構體的功能。
1int 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轉字串的函式:
1char *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...