关于网络编程中的字节序问题
2013-06-23 22:25
239 查看
由于主机和网络的字节序不同,所以发送和接受数据的时候要尤其注意字节序,下面以x86为例说明注意事项:
如果要发送4字节的整数a,则需要把a的4个字节写入buffer中,写入的顺序应该是将a的低字节写入buffer的低地址处,这样,在接受的时候,直接接受4个字节就是正确的整数。
否则接受的时候需要进行字节序转换。
发送字节序列时,不能使用string(C++)存储,并发送string。因为在将string转化为字节序列(c_str())时,由于某些特殊字节值,可能会出错,可能会在中间截断字节序列。
如果要发送4字节的整数a,则需要把a的4个字节写入buffer中,写入的顺序应该是将a的低字节写入buffer的低地址处,这样,在接受的时候,直接接受4个字节就是正确的整数。
否则接受的时候需要进行字节序转换。
发送字节序列时,不能使用string(C++)存储,并发送string。因为在将string转化为字节序列(c_str())时,由于某些特殊字节值,可能会出错,可能会在中间截断字节序列。
相关文章推荐
- 关于linux下网络编程socket 转换IP问题 inet_ntoa()
- 关于网络编程遇到的小问题
- 关于网络编程中字节序转换优化的思考
- 关于c++网络编程头文件顺序的问题
- 关于孙鑫课程第14课网络编程使用VS2013 inet_addr,inet_ntoa出现的问题
- 网络编程中的socket中关于TCP下的文件传输:EOF问题
- UNIX网路编程(第三版) 关于源代码的使用问题
- 关于Coursera上的斯坦福机器学习课程的编程作业提交问题
- 网络编程常见问题总结
- 关于COM接口编程的一点问题
- 网络编程中的大小端字节序详解
- 关于在arm裸板编程时使用printf问题的解决方法
- 关于电脑网络连接问题
- 关于高性能网络编程的一些知识
- UNIX环境高级编程-第0章- 关于apue.h和源码编译问题
- 26-网络编程-15-网络编程(TCP协议-练习-常见问题)
- 完成端口及网络编程之QA(常见问题,持续添加)
- 学习网络编程时需要了解的一些问题
- 服务器端编程心得(六)—— 关于网络编程的一些实用技巧和细节