您的位置:首页 > 理论基础 > 计算机网络

Linux网络编程中的基本函数

2016-02-18 18:32 459 查看
一.字节排序函数

1.#include
<netinet/in.h>

uint32_t
htonl(uint32_t hostlong); //对于long类型的变量,从主机字节序转换为网络字节序

uint16_t
htons(uint16_t hostshort);//对于short类型的变量,从主机字节序转换为网络字节序

uint32_t
ntonl(uint32_t netlong);//对于long类型的变量,从网络字节序转换为主机字节序

uint32_t
ntons(uint16_t netlong;//对于short类型的变量,从网络字节序转换为主机字节序

二字节操纵函数

#include <strings.h>

1.void bzero (void *dest,size_t nbytes);

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

3.int bcmp (const void *ptr1,const void *ptr2,size_t nbytes);

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

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

6.void memcmp (const void *ptr1,const void *ptr2,size_t nbytes);

bzero:从dest指定的起始地址其,长度为nbytes(字节)的内存段设置为0

bcopy和memcpy:复制内存的数据,参数crs指向原地址,dest指向目的地址,nbytes表示复制的长度

bcmp和memcmp:比较内存数据的大小,参数ptr1和ptr2指向两个将要进行比较的存储区,nbytes是以字节为单位的存储区的长度。函数的比较结果取决于第一个不相等的字节。如果ptr1>ptr2,返回值>0,如果ptr1=ptr2,返回值=0,如果ptr1<ptr2,返回值<0.

memset:用于给由dest指定的目标中指定数目len的字节设置位值。

三.IP地址转换函数

IP是以“.”隔开的十进制数表示,套接口的数据结构中用的是32位的网络字节序的二进制数值

in_addr_t inet_addr(const char *cp); //将点分十进制字符串转换成十进制长整型数,返回32位二进制的网络字节序地址

char *inet_ntoa(struct in_addr in); //将长整型IP地址转换成点分十进制,返回的是点分十进制的IP地址字符串。

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

//将点分十进制数的IP地址转换成为网卡字节序的32位二进制数值,输入的IP存放在straddr中,作为返回结果的二进制数值存放在addrptr中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: