Size: 391
Comment: 开篇
|
Size: 2270
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
''简述'' | ''Otter Tool是一个代码自动生成工具,它通过解析一个描述我们所需协议的XML文件来自动生成我们这个协议的Python代码,这样我们为Otter Base添加一个新的协议的时候,只需要把协议的XML描述文件填好,然后运行一下Otter tool,一切就出现在眼前了:P--just filling and running'' |
Line 15: | Line 15: |
Otter tool完成两个工作,第一,解析协议的XML描述文件,第二,将从XML解析出来的数据填充成我们所需的Python代码。 而实际上我们真正需要做的工作就是,填写XML文件->运行Otter tool->启动新协议。 |
|
Line 17: | Line 21: |
在运行Otter Tool程序的时候我们需要输入一个协议的XML描述文件,Otter tool通过解析这个XML文件,调用预制的Python代码模板,填充后生成出这个协议的四个Python代码文件。它们分别是: * *msg.py * *p.py * *c.py * *s.py *号代表协议的名称。 这四个文件中,*msg.py是对协议的报文格式进行定义的,*p.py是对协议的传送协议进行定义的,*c.py是该协议的客户端,*s.py是该协议的服务器端。 在对新协议进行开发的时候,我们需要在XML文件中对协议的各个部分进行描述,运行Otter tool生成上述四个文件。*msg.py和*p.py是协议的定义文件,我们不需要再改动它们。对新功能的扩展,我们通过扩展*c.py和*s.py来完成。 |
|
Line 18: | Line 33: |
Otter tool的静态分为三个部分,两个输入结构,一个输出结构。 | |
Line 19: | Line 35: |
首先是XML描述文件的结构,其定义如下: 根元素为<Otter>,它有三个属性,分别为: ||属性名||类型||说明|| ||Version||字符串||标明协议的版本号|| ||Persistent``Connection||布尔值||是否为长连接协议|| ||Protocol``Name||字符串||协议名称|| 第二是代码模板的结构其内容为: 第三是输出的代码 |
系统说明书 文章模板
Otter Tool系统说明
-- hd [DateTime(2004-08-14T22:48:06Z)] TableOfContents
系统概述
Otter Tool是一个代码自动生成工具,它通过解析一个描述我们所需协议的XML文件来自动生成我们这个协议的Python代码,这样我们为Otter Base添加一个新的协议的时候,只需要把协议的XML描述文件填好,然后运行一下Otter tool,一切就出现在眼前了:P--just filling and running
系统功能
Otter tool完成两个工作,第一,解析协议的XML描述文件,第二,将从XML解析出来的数据填充成我们所需的Python代码。
而实际上我们真正需要做的工作就是,填写XML文件->运行Otter tool->启动新协议。
系统处理流程
在运行Otter Tool程序的时候我们需要输入一个协议的XML描述文件,Otter tool通过解析这个XML文件,调用预制的Python代码模板,填充后生成出这个协议的四个Python代码文件。它们分别是:
- *msg.py
- *p.py
- *c.py
- *s.py
*号代表协议的名称。
这四个文件中,*msg.py是对协议的报文格式进行定义的,*p.py是对协议的传送协议进行定义的,*c.py是该协议的客户端,*s.py是该协议的服务器端。
在对新协议进行开发的时候,我们需要在XML文件中对协议的各个部分进行描述,运行Otter tool生成上述四个文件。*msg.py和*p.py是协议的定义文件,我们不需要再改动它们。对新功能的扩展,我们通过扩展*c.py和*s.py来完成。
系统静态结构和动态结构
Otter tool的静态分为三个部分,两个输入结构,一个输出结构。
首先是XML描述文件的结构,其定义如下:
根元素为<Otter>,它有三个属性,分别为:
属性名 |
类型 |
说明 |
Version |
字符串 |
标明协议的版本号 |
PersistentConnection |
布尔值 |
是否为长连接协议 |
ProtocolName |
字符串 |
协议名称 |
第二是代码模板的结构其内容为:
第三是输出的代码
系统静态结构
系统动态结构
系统模块及结构