|
请教下,希望有实际经验的人回答。
字节顺序有big endian和little endian两种
相关的函数有:htons htonl (host to net short ,host to net long)
ntohs ntohl (net to host)
据我所看到的例程中,只有在传送地址和端口时调用了这些函数,而具体数据却没有
网上有两种说法: 一种说只要地址和端口转换一种说所有网络数据都要考虑转换。
我倾向于相信后者,
在具体设计中可以以确定的顺序(如:little-endian x86所用的顺序)进行传输,
然后数据接收方判断本身主机的字节顺序再判断是否转换。
某BLOG上说:有可能是在设置地址和端口后API会对之后传输的数据进行自动转换,个人不是很相信,但没办法找到big-endian的机器测试。
PS:突然想想网络字节顺序是定了的big-endian,也就是说只需要对big-endian进行特殊处理。
再PS:刚刚翻书,似乎这不是什么问题。。。大家路过吧..
[ 本帖最后由 iptton 于 2008-10-22 13:19 编辑 ] |
|