QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 88djy

有一个提议

[复制链接]
发表于 2006-1-28 11:03:00 | 显示全部楼层
luma的ideal不错的
每次解析出来一个新的包,都要新建一个类,然后填上代码,加上事件,等等等等。今天突然想着,其实这些事可以做个通用的框架,比如
我用XML来描述这个包的结构,哪里怎么加密的,有那些字段,具体触发什么事件。做一个editor,可以编辑这样的xml,然后自动生成代
码不是更好。可以减轻分析协议时的工作,又易于维护,而且想分析或者设计其他什么的协议也用得上。以后还可以加上各种各样的功能,比如生成
类图,生成文档,生成这啥那啥,支持多种语言,提供各种模板,顺带干脆连网络层也生成算了,导入导出,转来转去...

嗯,可以考虑,管它叫Protocol Modeling Framework(PMF),wahahaha....,但是没空...
回复

使用道具 举报

发表于 2006-1-28 11:40:42 | 显示全部楼层
[quote:5afc3b9a23="bookstack"]如果为了减少重复劳动,三个开发团队可以共同维护一个QQ协议的wiki.
协议清楚了,剩下的编码工作量并不大。[/quote]
听起来不错
回复

使用道具 举报

发表于 2006-1-28 18:05:26 | 显示全部楼层
[quote:7c7d1d9bee="88djy"][quote:7c7d1d9bee="lof"][quote:7c7d1d9bee="bookstack"]如果为了减少重复劳动,三个开发团队可以共同维护一个QQ协议的wiki.
协议清楚了,剩下的编码工作量并不大。[/quote]

共同维护协议应该是目前最好的协作的方法,个人意见

不过就是这个wiki...要找个懂法律的咨询一下才好吧,要不。。。危险
召唤yunfan,luma,casper等达人[/quote]
必竟是个人的想法。实际上很难实现吧。返个大家都是开源的。如果哪位朋友有能力。自己也可以改啊。[/quote]

不是说改软件,是说对协议的研究啊,而且我们不应该以开源来回避合作吧,开源发展到现在,开源软件要发展,光靠某某高手一个人改是似乎已经行不通了吧,毕竟没有钱作支持啊啊,而人又总是要生存的吧,万一某天他退出或者有更重要的事要做。。。。那么OVER。。或者没有精力去发展它。。
回复

使用道具 举报

发表于 2006-1-29 23:04:59 | 显示全部楼层
每次解析出来一个新的包,都要新建一个类,然后填上代码,加上事件,等等等等。今天突然想着,其实这些事可以做个通用的框架,比如
我用XML来描述这个包的结构,哪里怎么加密的,有那些字段,具体触发什么事件。做一个editor,可以编辑这样的xml,然后自动生成代
码不是更好。可以减轻分析协议时的工作,又易于维护,而且想分析或者设计其他什么的协议也用得上。以后还可以加上各种各样的功能,比如生成
类图,生成文档,生成这啥那啥,支持多种语言,提供各种模板,顺带干脆连网络层也生成算了,导入导出,转来转去...

嗯,可以考虑,管它叫Protocol Modeling Framework(PMF),wahahaha....,但是没空...


代码生成的复杂度太高。

IM是一个典型的state machine. 网络的数据包和用户的操作是输入,程序内部维护一个当前状态。 定义一个抽象层, 把网络数据包的格式和系统的输入隔离,前端放一个xml的解析器, 从配置文件读入数据包的格式,产生系统需要的输入。

这样,程序的逻辑完全和网络数据包的格式分离。Tencet改了数据格式,只要更新配置的xml文件,程序都不用动。 xml的解析器应该可以重用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 08:13 , Processed in 0.072475 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表