qsc66886688
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2008-06-06
  • 粉丝0
  • 关注0
  • 积分320分
  • 威望43点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
阅读:1321回复:1

在passthru中能否用htons这个函数

楼主#
更多 发布于:2007-10-10 23:20
各位大虾,在passthru中能否用htons这个函数,如果能是不是只在开头加#include <winsock.h>。如果不能得话,怎么将主机字节顺序转换成网络自己顺序。谢谢啦!!
root60931
驱动大牛
驱动大牛
  • 注册日期2002-10-25
  • 最后登录2023-10-29
  • 粉丝2
  • 关注0
  • 积分1013分
  • 威望432点
  • 贡献值0点
  • 好评度311点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-10-11 10:53
ULONG htonl(ULONG hostlong)
{
    ULONG ByteSwapped;
    
    ByteSwapped = ((hostlong & 0x00ff00ff) << 8) | ((hostlong & 0xff00ff00) >> 8);
    
    return (ByteSwapped << 16) | (ByteSwapped >> 16);
}

ULONG ntohl(ULONG netlong)
{
    ULONG ByteSwapped;
    
    ByteSwapped = ((netlong & 0x00ff00ff) << 8) | ((netlong & 0xff00ff00) >> 8);
    
    return (ByteSwapped << 16) | (ByteSwapped >> 16);
}

USHORT htons(USHORT hostshort)
{
    return ((hostshort << 8) | (hostshort >> 8));
}

USHORT ntohs(USHORT netshort)
{
    return ((netshort << 8) | (netshort >> 8));
}
好好学习,天天向上! root60931@gmail.com
游客

返回顶部