高分求教:如何用asn.1构造普通网络协议?
最近参与一个系统有太多的网络协议需要自己去构造和分析,听说asn.1能
自动构造协议,但是看了很久还是不得门入,想请教高手,我能否构造如下一个
结构?
#pragma pack(1)
typedef struct
{
uint8_t cFlag1;
uint32_t dwAddress1;
uint8_t cFlag2;
uint32_t dwAddress2;
}SOME_INFO;
typedef struct
{
char cMagicChar;
SOME_INFO stInfo1;
char sInfo[128];
char cLength;
char sVarData[0];
}MIX_INFO;
#pargma
PS: 生成的协议需要是1字节对齐,以便和旧的代码兼容
如果asn.1做不到,有没有其他工具可以完成这类的事情?因为协议太多,写起来
很烦琐:(
问题点数:0、回复次数:8Top
1 楼cyblueboy83(爱情白痴—电脑迷)回复于 2005-04-05 00:44:03 得分 0
帮顶
Top
2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-05 12:43:17 得分 0
asn.1是抽象语法Top
3 楼szhunter(hunter)回复于 2005-04-09 00:24:23 得分 0
晕,竟然没有人会用asn.1啊?Top
4 楼shakira008()回复于 2005-04-09 21:00:06 得分 0
dingTop
5 楼JohnFractal(牛粪)回复于 2005-04-13 13:24:14 得分 0
asn.1和网络协议没有绝对关系哦,你的想法是要找一种数据表示的方法吧?可以考虑一下ber编码方法,挺灵活的。
Top
6 楼coppermine(coppermine)回复于 2005-04-13 21:02:35 得分 0
ASN.1是一种编码方式,又分为ber和perTop
7 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-13 22:04:43 得分 0
ASN应该是数据的描述语言,而BER和PER是具体编码方式Top
8 楼szhunter(hunter)回复于 2005-04-16 00:42:51 得分 0
能否举例说说?我对这个真是部太懂 :(
或者未必需要asn.1,只要有方法可以很简单的帮我构造网络数据包,
而不用我自己手工去实现一个个封包解包函数Top




