如何添加一种新Case协议

这里以添加基础http为例

首先要在脚本文件(XML文件)中定义好这种协议的基本信息

您必须在这里设计好您协议预先需要的数据(比如串口协议,那波特率,串口号等可能是不会经常改变的就可以在这里先预设置)


然后您需要在这里添加您的新协议名称(在【CaseExecutiveActuator】下)


接着,您需要添加对新协议执行器数据的解析(在CaseActionActuator>LoadScriptRunTime中)

同时将解析结果添加到执行器列表中,如下图(实际是添加一个新执行器,后面会讲执行器的创建)

同时您必须创建一个存放执行器数据的结构,可以效仿其他协议结构,不过必须从IConnectExecutiveData接口继承


现在需要为上面创建一种针对新协议的执行器

执行器在myCaseProtocolEngine.cs文件中,在根处创建,必须实现ICaseExecutionDevice接口

执行器实际会继续最终的协议执行,不同协议的处理方式会不同,关于接口的实现可以参考现有的执行器


之后您需要定义您的新协议的脚本规则


现在必须添加协议的解析(在myCaseScriptAnalysisEngine>getCaseRunData中)

解析实体请放在该处,同时解析出来的数据结构需要预先定义,如下

该数据结构体必须继承 接口ICaseExecutionContent

然后您的执行器处理这些数据最终执行

现在全部的工作就完成了,可以测试一下新协议的运行情况

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LeoXu的博客

NDK学习笔记(三)SWIG:自动生成JNI代码

SWIG 的全称是 Simplified Wrapper and Interface Generator,它是一个开发工具,在Android Native开发中...

2733
来自专栏何俊林

一个强大的网络库RxEasyHttp

本文来自周游的投稿,封装的网络请求库,github:https://github.com/zhou-you/RxEasyHttp,欢迎点击【阅读原文】,查看更多...

3828
来自专栏小樱的经验随笔

【批处理学习笔记】第十三课:常用dos命令(3)

网络命令 ping 进行网络连接测试、名称解析 ftp 文件传输 net 网络命令集及用户管理 telnet 远程登陆 ipconfig显示、修改TCP/IP设...

2896
来自专栏python学习指南

python爬虫(六)_urllib2:handle处理器和自定义opener

本文将介绍handler处理器和自定义opener,更多内容请参考:python学习指南 opener和handleer 我们之前一直使用的是urllib...

2818
来自专栏运维

Nginx1.10.2稳定版本tcp四层负载安装配置过程略解

nginx1.10.2(2016.10.18)是最新稳定版,适合线上运行,最新开发版为1.11.8(2016.12.27)

1181
来自专栏张善友的专栏

Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

Jexus 是一款运行于 Linux 平台,以支持  ASP.NET、PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器。最新版 5.8...

2056
来自专栏分布式系统进阶

Kafka重置消费的OffsetKafka源码分析-汇总

4362
来自专栏pythonlove

FTP使用MariaDB完成虚拟用户认证

文件传输协议(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議。它属于网络传输协议的应用层。FTP是一...

1094
来自专栏漫漫全栈路

Nginx配置文件nginx.conf详解

最近折腾Ubuntu比较多,也基本原理了Windows和IIS了,论一个软狗的堕落史。既然换到Ubuntu系统上来,勉强算个web开发人员的我当然用的最多的就...

6077
来自专栏散尽浮华

proxy_pass根据path路径转发时的"/"问题记录

在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/。当加上了/,相当于是绝对根路径,则nginx不...

42910

扫码关注云+社区

领取腾讯云代金券