真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

socketAPI

1. 字節(jié)序

創(chuàng)新互聯(lián)-專業(yè)網站定制、快速模板網站建設、高性價比登封網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式登封網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋登封地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

網絡協(xié)議使用‘大端字節(jié)序’(起始地址存的高序字節(jié))來傳送這些多字節(jié)整數(shù)。

#include

uint16_t htons(uint16_t host16bitvalue);

uint32_t htonl(uint32_t host32bitvalue);

uint16_t ntohs(uint16_t net16bitvalue);

uint32_t ntohl(uint32_t net32bitvalue);

2. 點分十進制的ASCII碼字符串和32位的網絡字節(jié)序二進制值間轉換IPv4地址

[//下面兩個函數(shù)淘汰,寫出來幫忙過渡記憶

#include

//字符串符串有效則返回1,否則0

// 不足:出錯時addrptr返回 INADDR_NONE(32位1),又有手冊稱返回-1

int inet_aton(const char *strptr, struct in_addr *addrptr);

char* inet_ntoa(struct in_addr inaddr);// 不足:不可重入

]

// 優(yōu)點:ipv4和ipv6都適合 

// p:presentation n:numeric

#include

// 注意:成功返回1,輸入格式無效返回0,出錯返回-1;EAFNOSUPPORT

int inet_pton(int family, const char *strptr, void *addrptr);

// 成功返回指向結果的指針,出錯返回NULL; ENOSPC

const char* inet_ntop(int family, const void *addrptr, char *strptr, size_t len);

3. socket

#include

int socket(int family, int type, int protocol);

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

//bind可以指定IP地址或端口,或兩者都指定,或兩者都不指定。

//bind系統(tǒng)保留端口,需要root權限

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

//返回套接字關聯(lián)的本地協(xié)議地址

int getsockname(int sockfd, struct sockaddr* localaddr, socklen_t *addrlen);

//返回套接字關聯(lián)的遠程協(xié)議地址 如accept返回的客戶sockfd的對應地址

int getpeername(itn sockfd, struct sockaddr* peeraddr, socklen_t addrlen);

int listen(int sockfd, int backlog);// 還是不明白backlog指定為什么樣的值比較好?

監(jiān)聽套接字維護兩個隊列:未完成連接隊列(SYN_RCVD)和已完成連接隊列(ESTABLISHED)。

int accept(int listenfd, struct sockaddr* cliaddr, socklen_t *addrlen);

4. 建立連接后

#include

int close(int sockfd);

/*

fork調用一次,返回兩次:調用進程返回子進程ID號,子進程返回0

fork的兩個用法:一是進程創(chuàng)建自身的一個副本;二是一個進程想要執(zhí)行另一個程序,副本調用 exec把自身替換成新的程序。

*/

pid_t fork(void);

pid_t getppid(void);//獲得父進程ID


新聞名稱:socketAPI
文章轉載:http://weahome.cn/article/jcjsch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部