游戏协议模拟测试工具(TcpEngine)使用简介

功能介绍

在有的网络开发需要走二进制流协议场景,比如网络游戏开发,在开发阶段,前端和后端协商好协议后就分别开发。在开发写代码的时候,有时需要对端发送一条完整的协议过来触发一下自己的代码,进行单步调试或单元测试,但对端现在也在开发,不能发完整的协议过来。这种情况下,我们可以使用TcpEngine 工具模拟对端向我们发送完整的协议,实现触发我们的代码逻辑。

TcpEngine 是可以通过xml 配置,模拟二进制流协议的工具,比如有一条协议的定义如下面四个部分

1.1~4 共四个字节是整型,存放消息体长度。

2.5~6 共两个字节是短整型,存放命令ID 。

3.7~8 共两个字节是短整型,存放固定值123 。

  1. 最后是消息体,长度由首四个字节指定。

那么TcpEngine 对象的xml 配置如下面所示。

这个工具的主要功能有

1.通过xml 配置二进制协议。

2.支持模拟前端和后端(模拟后端时,只允许一个前端连接)

3.支持byte (一个字节);short (两个字节短整型);int (四个字节整型);long (八个字节长整型);float (四个字节浮点型);double (八个字节浮点型);json 字符串。

4.支持Tcp 和WebSocket 两种网络协议。

5.保存关键数据,在下一条协议中继续使用。

6.日志显示测试过程数据变化,可保存日志到文件,下次打开日志文件可恢复测试现场。

7.支持常用的运算符。

  1. 支持延迟或暂停测试过程。

工具主界面

运行界面

游戏协议模拟测试工具(TcpEngine)使用简介

工具地址:https://pan.baidu.com/s/1P0yPWWiEj8lUvN-a7GwIWw

Original: https://www.cnblogs.com/tcp-engine/p/11540475.html
Author: 工分一百
Title: 游戏协议模拟测试工具(TcpEngine)使用简介

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570429/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Jackson: java.util.LinkedHashMap cannot be cast to X

    Jackson是一个广泛使用的 Java 库,它允许我们方便地序列化/反序列化 JSON 或 XML。 有时,当我们尝试将 JSON 或 XML 反序列化为对象集合时,可能会遇到&…

    Java 2023年5月29日
    0102
  • 技能篇:linux服务性能问题排查及jvm调优思路

    只要业务逻辑代码写正确,处理好业务状态在多线程的并发问题,很少会有调优方面的需求。最多就是在性能监控平台发现某些接口的调用耗时偏高,然后再发现某一SQL或第三方接口执行超时之类的。…

    Java 2023年6月5日
    091
  • [springmvc]springmvc超详细总结笔记

    springMvc 1.回顾mvc 模型 模型(dao,service):业务逻辑,保存数据的状态 视图 视图(jsp,html……):展示页面 控制器 控…

    Java 2023年6月6日
    087
  • 开头第一篇Hello World

    以前在折腾个人博客的时候,使用过的WordpPress、Z-Blog、Typecho建站程序,开头第一篇都是Hello World,作为程序员的社区,开头第一篇当然也要是Hello…

    Java 2023年6月8日
    077
  • 设计模式之备忘录模式

    无论是我们在使用word还是记事本,系统都会为我们提供撤销的功能,这几乎是人人都会使用到的功能,而在我们实际开发中,会不会存在一个很复杂的对象,当更改了其中的某一个属性以后,也提供…

    Java 2023年6月8日
    062
  • 硬核剖析Redis单线程为什么那么快?

    Redis目前是使用率最高的内存库数据库,是企业应用开发的必备,它极高的性能和丰富的数据结构为我们的开发提供了极大的便利。它每秒可以承受10W+的QPS,但却是单线程的处理模型,为…

    Java 2023年6月16日
    095
  • 踩坑: 通用mapper tkmybatis 的delete的坑

    今天记录一个使用通用mapper的坑: 在使用 通用mapper delete时 我是这样用的 @Override public int deleteOldData(String …

    Java 2023年6月5日
    076
  • 阿里云-快速搭建Spring Boot环境(Java,IntelliJ IDEA)

    本步骤主要介绍使用Spring Assistant插件来搭建简单的Spring Boot项目。 在IntelliJ IDEA启动界面,单击 Create New Project。 …

    Java 2023年5月29日
    069
  • spring中使用mockito

    1 mockito介绍和入门 官方:https://github.com/mockito/mockito 入门: 5分钟了解Mockito http://liuzhijun.ite…

    Java 2023年5月30日
    069
  • Mybatis-Plus

    国产的开源框架,基于 MyBatis 核心功能就是简化 MyBatis 的开发,提高效率。 Spring Boot(2.3.0) + MyBatis Plus(国产的开源框架,并没…

    Java 2023年6月15日
    096
  • IOC-反转控制/ DI-依赖注入

    7.1 IOC (inversion of control) – 反转控制 1) 之前我们在学JSP 的时候,在CoreS ervlet 中,我们创建xxxD ao 对象是如何创建…

    Java 2023年6月16日
    069
  • Ubuntu14.04.6配置阿里源

    Ubuntu14.04.6配置阿里源 Ubuntu14.04.6配置阿里源 这两天上手 Ubuntu 系统,因为公司用的是 14.04.6 版本,所以有了一些踩坑记录。 起因是安装…

    Java 2023年6月8日
    089
  • gulp: Did you forget to signal async completion? 解决方案

    学习gulp的前端自动化构建,按照示例代码,跑了一个简单的task,控制台打出如下提示: The following tasks did not complete: testGul…

    Java 2023年6月15日
    062
  • 函数式编程-记忆化缓存

    记忆化,是一种为了提高应用程序性能的FP技术。程序加速是通过缓存函数的结果实现的,避免了重复计算带来的额外开销。 1、现在我们使用Dictionary作为缓存结构 打印结果: 可以…

    Java 2023年6月9日
    041
  • Vue 和 Zebra 打印机连接直接打印条码

    首先,Vue是无法调用Windows系统功能的,那么打印只能通过浏览器的打印功能来实现,这样显然不行,效率太低,而且斑马打印机是通过ZPL指令进行打印的,用浏览器打印非常不方便。 …

    Java 2023年6月9日
    077
  • Java中BeanUtils.copyProperties()用法和需要导入maven依赖

    1、导入的maven依赖包 <dependency> <groupId>commons-beanutilsgroupId> <artifactI…

    Java 2023年5月29日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球