关于网络字节顺序的问题,请大家看看。

jyojyo 2003-07-05 04:53:48
问题:
1.我要发送一个 lpByteSendBuf 到Server 上,我如何设置成网络字节顺序呢?
2.我接收到Server发送过来的数据,如何将 lpByteRecvBuf 转换成本地字节顺序呢?


请大家帮帮忙,我对这个问题不是很清楚。
...全文
58 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jx02 2003-07-06
  • 打赏
  • 举报
回复
同意c0der()
jyojyo 2003-07-06
  • 打赏
  • 举报
回复
问题是这样的,我从界面上获得一个数字 12 ,然后按照规定的协议转化成2进制的
00010010,这样该数字就变成了一个字节。然后我不断的接受新的数字并转化,将其累积成4096个字节后发送。

那么,这时候这个缓冲是什么类型的呢,是数字还是字符数组。在网络上传和接受的时候需要进行字符顺序转换吗?

我真的有点糊涂了,希望大家帮帮忙。
jyojyo 2003-07-06
  • 打赏
  • 举报
回复
问题是:这个buff里面每个字节保存的都是一个2进制的数字啊!

就是说,00010010 这样的格式在网上传!
cpluser 2003-07-06
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1956/1956681.xml?temp=7.098025E-02
howtotell 2003-07-06
  • 打赏
  • 举报
回复
windows 的tcp/ip协议栈已经解决了这个问题.
不录 2003-07-05
  • 打赏
  • 举报
回复
是啊,char类型的根本不需要htons或htonl
Wenxy1 2003-07-05
  • 打赏
  • 举报
回复
同意c0der()
c0der 2003-07-05
  • 打赏
  • 举报
回复
你还没有搞清楚本质问题,如果,你要发送的是一个字节流,就没有必要转换了,比如:
你发一个字符串“ABC”,对方收到的也是ABC,根本就不需要转换了。但是如果你要发送的是一个整数什么的,那就需要转换成网络字节顺序的,比如:你要发送数值1,也就是0x00000001,如果不转换,对方收到的将会是0x01000000,这个与实际不符合了,所以才要自己顺序转换。
jyojyo 2003-07-05
  • 打赏
  • 举报
回复
可以简单写个例子吗?比如说我要发送 lpByteSendBuf 到 Server 上,拜托了。

Joran 2003-07-05
  • 打赏
  • 举报
回复
htons

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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