#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...