网络字节换函数

socket编程时网络传输数据必须转换为网络字节序,而且不管IP是哪种字节序系统识别都必须为unsigned long型,点分式IP仅方便记忆,下面介绍一些常用转换函数。

函数原型:unsigned long inet_addr( const char* cp ); 将char*类型转换为网络字节顺序,返回32位的unsigned long型,例addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");其中addrSrv是套接字对象。

函数原型:char* FAR inet_ntoa( struct in_addr in ); 参数为in_addr结构体,返回点分格式的IP地址。

函数原型:u_long htonl( u_long hostlong );

u_short htons( u_short hostshort ); 这两函数是将本机字节序转换位网络字节序,这里h即host,n即net,l和s分别代表unsigned long和unsigned short。 同样ntohl(u_long netlong)和 ntohs(u_short netshort),实现的则是相反的功能。



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 7959