socket中网络字节序的处理
来源:互联网 发布:python初学者书籍推荐 编辑:程序博客网 时间:2024/05/23 16:52
以RADIUS为例,在RADIUS的TLV属性的结构大概如下:
typedef struct _radius_tlv_t {
char type;
char length;
char value[1];
}radius_tlv_t;
type域和length域都是一个字节,不需要转序。
value域根据不同的type会由协议事先约定类型,有4种默认类型:
整数,字符串,二进制码流,时间。
很显然,字符串和二进纸码流均按字节逐个传输,不需要考虑网络序和主机序转换问题
整数和时间需要考虑。
因为RADIUS协议中的整数和时间实际都是32位整数(不考虑tag的情况下),所以发送端都
应该使用htonl转换为网络序,而接受端则应该使用ntohl转换为主机序
把这个struct 看成一个整体就不需要转换了。
char* p =(char*) stMsg;
send(net,p,sizeof(stMsg));
---
struct msg m;
recv(net,(void*)&m,sizeof(m));
大体是这样的。
- socket中网络字节序的处理
- socket网络字节序
- 简约的网络字节序处理
- 简约的网络字节序处理
- API SOCKET基础(4)网络字节序与主机字节序的转换
- API SOCKET基础(三)网络字节序与主机字节序的转换
- socket编程 网络字节序问题
- socket网络字节序以及大端序小端序
- socket网络字节序以及大端序小端序
- python的struct处理二进制数据,主机字节序和网络字节序
- OC中网络传输的时候对字节流的操作 & 对字节的处理 & 野指针问题
- OC中网络传输的时候对字节流的操作 & 对字节的处理 & 野指针问题
- MINA源码分析---学习mina中整数和网络字节的转换处理
- 关于网络编程中字节序转换优化的思考
- 网络传输中遇到的字节序问题
- 网络编程中何时转换传输数据的字节序
- socket编程 -- 网络字节序、IP地址转换、sockaddr数据结构
- 18、socket网络字节序以及大端序小端序
- android 批量安装卸载bat
- 基于struts2的文件上传
- 以太网报文结构分析,与解析代码
- tomcat 6.0.14 Webapp Loader的定制(备忘)
- 2012 人民搜索 实习生招聘 笔试题
- socket中网络字节序的处理
- nginx的helloworld模块的helloworld
- android ListView详解
- 隐藏ListCtrl中指定列(拖动不显示)
- android Service(一)
- clojure入门: hello world
- 七夕夜、离别,涵情经河岸
- 关于敏捷开发的两道选择题
- MySQL Migration Toolkit 实现 MSSQL 到 MySQL数据迁移 转载