CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  专题技术讨论区

高分求教:asn.1生成普通网络协议的问题

楼主szhunter(hunter)2005-04-03 19:56:51 在 Linux/Unix社区 / 专题技术讨论区 提问

最近参与一个系统有太多的网络协议需要自己去构造和分析,听说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  
   
  问题点数:0、回复次数:3Top

1 楼UPCC(杂食动物)回复于 2005-04-03 20:15:32 得分 0

应该可以啊!怎么啦?Top

2 楼UPCC(杂食动物)回复于 2005-04-03 21:39:23 得分 0

总觉得char   sVarData[0];不大好,但应该只是警告而已!因为数组只要不小于0就可以了!  
   
  假如你的结构体定义成  
  struct  
  {  
  。。。。  
  }SOME_INFO;  
  那么就是不可以的,这时SOME_INFO只是结构体的一个变量了,  
  typedef   struct  
  {  
  。。。。  
  }SOME_INFO;  
  这里是一个:定义结构体,typedef结构体的一个名字”Top

3 楼szhunter(hunter)回复于 2005-04-03 21:45:17 得分 0

谢谢UPCC,能否帮忙给一份对应的asn.1声明?   我看了很久都没搞清楚   char   是怎么声明的  
   
  SOME_INFO是MIX_INFO内的一个嵌套结构,我在asn.1的例子里也没有找到    
  好像   asn.1只能在结构里面声明一个结构的指针?  
   
  vardata的长度是由cLength来决定,1是为了节省空间,2是为了简化获取vardata地址  
   
  Top

相关问题

  • 怎样为WIN2000设置网络协议?
  • 有关网络协议的问题
  • 如何加载网络协议呢?
  • 哪里可得到比较新的网络协议信息???
  • 高分求教!!!网络协议仿真系统如何实现???
  • 高分求教!!网络协议仿真系统如何实现???
  • 熟悉网络协议的高手们,给点提示!
  • 请问哪儿有编写网络协议的资料?
  • 一个关于网络协议的复杂问题
  • ===星际连网用的是什么网络协议?TCP/UDP?===

关键词

  • 结构
  • asn.1
  • 构造
  • uint
  • info
  • typedef
  • 声明
  • struct
  • char

得分解答快速导航

  • 帖主:szhunter

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo