casper 发表于 2006-1-28 11:03:00

luma的ideal不错的

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

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

addone 发表于 2006-1-28 11:40:42

如果为了减少重复劳动,三个开发团队可以共同维护一个QQ协议的wiki.
协议清楚了,剩下的编码工作量并不大。
听起来不错 8)

lof 发表于 2006-1-28 18:05:26

如果为了减少重复劳动,三个开发团队可以共同维护一个QQ协议的wiki.
协议清楚了,剩下的编码工作量并不大。

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

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

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

bookstack 发表于 2006-1-29 23:04:59


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

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


代码生成的复杂度太高。

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

这样,程序的逻辑完全和网络数据包的格式分离。Tencet改了数据格式,只要更新配置的xml文件,程序都不用动。 xml的解析器应该可以重用。
页: 1 [2]
查看完整版本: 有一个提议