那位高手知道通用的网络字节序?

james_sc 2002-03-15 04:16:35
结构体按照网络字节序如何发送?是不是要按位翻转?integer发送是是不是转换成16进制的?

请那位高手详细的介绍一下情况~~
...全文
36 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
james_sc 2002-03-20
  • 打赏
  • 举报
回复
网络字节具体是如何规定的呢?
Wugifer 2002-03-17
  • 打赏
  • 举报
回复
to ydogg:
htons convert 16 bits,
htonl convert 32 bits, not bytes
Wugifer 2002-03-17
  • 打赏
  • 举报
回复
big endian
Wugifer 2002-03-17
  • 打赏
  • 举报
回复
4个字节不就是32bits,需要转换
james_sc 2002-03-17
  • 打赏
  • 举报
回复
那4个字节的需要转换嘛
james_sc 2002-03-16
  • 打赏
  • 举报
回复
那么网络字节到底是如何规定的呢?
ydogg 2002-03-15
  • 打赏
  • 举报
回复
8byte以上的数据都要转换

such as;

16 byte use htons(...)
32 byte use htonl(...)
james_sc 2002-03-15
  • 打赏
  • 举报
回复
那具体一如何转成网络字节发送呢?
那么通用的网络字节高地位是怎么规定的?
我应该如何去按照这个规范来写呢?
zgc_7622 2002-03-15
  • 打赏
  • 举报
回复
htons(),htonl(),ntohs(),ntohl()
WSAHtons(),WSAHtonl(),WSANtohs(),WSANtohl()
kook 2002-03-15
  • 打赏
  • 举报
回复
我以前写个一个Motorola(CPU)和Intel的通讯,是写函数来交换高低位的
ky640 2002-03-15
  • 打赏
  • 举报
回复
有几个常识问题:
网络字节序的作用是为了跨平台传输,而网络发送时都是按内存中的实际顺序发送的,比如有的平台int是高们在前,低位在后,而第二个平台则恰恰相反,那么从前一个平台发送的int到第二个平台时,第二平台就解释反了,因而是不对的。所以对于那种多个字节的简单类型在传输时要转成网络字节顺序。当然如果确信是在同一个平台上通信,则转不转都无所谓了。
而int转换成16进制再传输,实在不明白你的意思,int在内存中本来就是16进制的,只不过各种各样的软件把它显示给你看时,变成十进制了而已。

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧