網路程式設計函式

2021-06-22 00:52:59 字數 2647 閱讀 8245

#include

uint16_t htons(uint16_t host16bitvalue);

uint32_t htonl(uint32_t host32bitvalue); 均返回:網路位元組序值

uint16_t ntohs(uint16_t net16bitvalue);

uint32_t nohl(uint32_t net32bitvalue); 均返回:主機位元組序值

位元組操縱函式

#include

void bzero(void * dest,size_t nbytes);

void bcopy(const void * src,void *dest,size_t nbytes);

int bcmp(const void * ptr1,const void *ptr2,size_t nbytes);  返回:0-相等,非0-不相等

ansi c函式:

#include

void * memset(void * dest,int c,size_t len);

void * memcpy(void *dest,const void *src,size_t nbytes);

int memcmp(const void *ptr1,const void *ptr2,size_t nbytes); 返回:0-相同,>0或<0-不相同

1.inet_aton、inet_addr和inet_ntoa在點分十進位制數串與它的32位網路位元組序二進位制值間轉換ipv4位址,

2.inet_pton,inet_ntop對ipv4和ipv6位址都能處理,

#include

int inet_aton(const char * strptr,struct in_addr *addrptr); 返回1-串有效,0-串有錯

in_addr_t inet_addr(const char * strptr);

char * inet_ntoa(struct in_addr inaddr);

返回:指向點分十進位制數串的指標

inet_pton和inet_ntop對ipv4和ipv6位址都能處理,字母p和n分別代表presentation和numeric。位址的表達(presentation)格式通常是ascii串。數值(numeric)格式則是存在於套介面位址結構中的二進位制。

#include

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

返回:1-成功,0-輸入不是有效的表示式,-1-錯誤

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

返回:指向結果的指標-成功,null-出錯

測試是否為套介面描述字:

#include

int isfdtype(int fd,int fdtype); 返回:1-是指定型別,0-不是指定型別,-1-出錯

#include

int socket(int family,int type,int protocol);返回:非負描述字-成功,-1-出錯

int connect(int sockfd,const struct sockaddr *servaddr,socklen_t addrlen); 返回:0-成功,-1-出錯

int bind(int sockfd,const struct sockaddr *myaddr,socklen_t addrlen); 返回:0-成功,-1-出錯

int listen(int sockfd,int backlog); 返回:0-成功,-1-出錯

int accept(int sockfd,struct sockaddr *cliaddr,socklen_t * addrlen); 返回:非負描述字-0k,-1-出錯

併發伺服器:

#include

pid_t fork(void); 返回:在子程序中為0,在父程序中位子程序id,-1-出錯

int execl(const char *pathname,const char *arg0,...);

int execv(const char *pathname,char *const argv);

int execle(const char *pathname,const char *argv0,...);

int execve(const char *pathname,char *const argv,char *const envp);

int execlp(const char *filename,const char *arg0,...);

int execvp(const char *filename,char *const argv);

int close(int sockfd);

與套介面關聯的本地協議位址(getsockname),或返回與套介面關聯的遠端協議位址(getpeername)

#include

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

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

網路程式設計 connect函式

1 connect描述 定義函式 int connect int sockfd,struct sockaddr serv addr,int addrlen connect函式通常用於客戶端建立tcp連線。返回值 成功則返回0,失敗返回 1,錯誤原因存於errno中。錯誤 ebadf 引數sockfd...

網路程式設計 recv 函式

recv 是程式語言函式。函式原型int recv in sockets,out char buf,in int len,in int flags 這裡只描述同步socket的recv函式的執行流程。當應用程式呼叫recv函式時 1 recv先等待套接字s的傳送緩衝中的資料被協議傳送完畢,如果協議在...

網路程式設計 基本函式

位元組排序函式 include 返回網路位元組序的值 uint16 t htons uint16 t host16bitvalue uint32 t htonl uint32 t host32bitvalue 返回主機位元組序的值 uint16 t ntohs uint16 t net16bitva...