网络协议应用开发辅助工具

TCP Protocol Application Code Helper

研究原因

编写网络通讯协议应用程序时经常需要对协议包做定义描述,并用目标编程语言对数据包编写编码、解码函数的枯燥没技术含量的重复劳动,希望做一个工具简化这部分重复劳动的工作,目前类似的有google开源的protobuf。

项目目标

定义一个数据包描述语言,对符合有包头包体特征的网络通讯协议的数据包做定义描述,并生成对应目标编程语言的数据包编码解码函数的实现代码等。
它要:

计划实现功能

第一阶段:完成数据包描述语言的定义实现

提取通讯数据包程序中数据包的特征,加以抽象化定义出一个描述语言,可以描述有包头,包体这种特征的网络协议通讯包

第二阶段:根据描述语言的解析结果做数据包类代码的自动生成

提供C++,Pascal等语言的数据包类代码生成,生成的类代码包含以下部分

第三阶段:生成基于某些后端网络协议框架的通讯应用程序框架代码

进一步简化TCP网络应用程序开发的流程,节约开发时间,自动生成针对某些网络框架的应用代码基础,比如针对C++的Poco网络框架,Pascal的Indy网络框架等。

项目目前状况

寻求帮助

协助挑选高质量底层网络通讯框架以及对应框架的网络通讯应用的代码实现模式,使第三阶段生成的TCP应用框架代码高质高效。

补充说明

因本项目只是个人业余兴趣,所以在具体的时间进度上并没有保障。但是我会保证:

Q&A

Popularity: 1% [?]