本节以TCP穿透场景为例,讲述了TCP协议场景的创建过程,包括创建工程、创建TCP协议相关的服务、并测试运行。通过本节你将了解到如下内容:

  1. 如何创建完整的TCP协议场景;
  2. 如何在Studio中测试运行开发的业务逻辑;
  3. 如何运行并测试TCP穿透;

本示例中通过SocketTool模拟TCP请求方与提供方,通过SocketTool的TCP Client发送请求消息,经过APIGateway穿透后SocketTool的TCP Server接收到请求消息,然后通过SocketTool的TCP Server发送响应消息,经过APIGateway穿透后SocketTool的TCP Clientr接收到响应消息。

项目源码如附件所示:tcp.zip (opens new window)

# 创建工程

  1. 打开APIGateway Studio,在资源管理器中,点击右键,选择"创建 > ESB项目"菜单项,创建工程,如下图所示。
    image2018-10-10 17:56:4.png

  2. 在工程创建向导中,填写工程的基本信息,如工程名称等,这里我们创建一个名为"http"的工程,如下图所示。
    image2020-4-9 17:28:58.png

  3. 单击“下一步”,设置工程的引用库,这里使用缺省设置,如下图所示。
    image2020-4-9 17:29:9.png

  4. 单击“完成”,完成创建工程。创建工程后,资源管理器如下图所示。
    image2020-4-9 17:29:30.png

# 创建公共Module

  1. 在资源管理器中,选中创建好的项目,鼠标右键选择“创建 > 公共Module”,创建公共Module,如下图所示。
    image2020-4-9 17:30:25.png

  2. 在“公共Module”对话框中,填写Module名称等信息,如下图所示。 image2020-4-9 17:30:25.png

  3. 单击“完成”,公共Module创建完成,如下图所示。
    image2020-4-9 17:31:13.png

# 创建TCP Transport

  1. 在创建的ESB项目的“Transport”上,右键选择“创建 > TCP类型Transport”,如下图所示。
    image2020-4-9 17:32:48.png

  2. 在弹出的“创建TCP类型Transport”界面,选择当前的工程、Module,并输入文件名及显示名称,如下图所示。
    image2020-4-9 17:30:25.png

  3. 单击“完成”,TCP Transport创建完成,如下图所示。
    image2020-4-9 17:33:45.png

  4. 在资源管理器中,双击创建的TCP Transport,打开TCP Transport编辑器,修改相关参数。如下所示。
    image2020-4-9 17:34:37.png

  5. TCP Transport配置完成后,单击工具栏中的图标保存。

# 创建TCP Endpoint

  1. 在创建的ESB项目的“Endpoint”上,右键选择“创建 > TCP类型Endpoint”,如下图所示。
    image2020-4-9 17:36:14.png

  2. 在弹出的“创建TCP类型Endpoint”界面,选择当前的工程、Module,并输入文件名及显示名称,如下图所示。
    image2020-4-9 17:30:25.png

  3. 单击“完成”,TCP Endpoint创建完成,如下图所示。
    image2020-3-30 11:25:35.png

  4. 在资源管理器中,双击创建的TCP Endpoint,打开TCP Endpoint编辑器,修改相关参数。如下所示。
    image2020-4-9 17:36:59.png

# 创建业务Module

  1. 在资源管理器中,选中创建好的项目,鼠标右键选择“创建 > 业务Module”,创建业务Module,如下图所示。
    image2020-4-9 17:39:22.png

  2. 在“业务Module”对话框中,填写Module名称等信息,如下图所示。
    image2020-4-9 17:41:58.png

  3. 单击“完成”,业务Module创建完成,如下图所示。
    image2020-4-9 17:42:26.png

# 创建TCP业务服务

  1. 在资源管理器中,在新建的“业务服务”上,鼠标右键选择“创建 > TCP业务服务”,创建TCP业务服务,如下图所示。
    image2020-4-9 17:43:41.png

  2. 在打开的“创建TCP 业务服务”对话框中,输入类别信息,如下图所示。
    image2020-4-9 17:45:31.png

  3. 单击“完成”,在打开的“TCP业务服务”的编辑界面中,设置显示名称、Endpoint,如下图所示。
    image2020-4-9 17:47:21.png

  4. 单击工具栏的保存。

# 创建TCP代理服务

  1. 在资源管理器中,在“代理服务”上,鼠标右键选择“创建 > TCP代理服务”,创建TCP代理服务,如下图所示。
    image2020-4-9 17:49:29.png

  2. 在打开的“创建TCP代理服务”对话框中,输入类别信息,如下图所示。
    image2020-4-9 17:49:56.png

  3. 单击“完成”,在TCP代理服务的编辑界面中,设置TCP代理服务的配置,如下图所示。
    image2020-4-9 17:51:54.png

  4. 单击工具栏的保存,完成TCP代理服务的创建。

# 部署运行

  1. 在资源管理器中,选中创建好的项目,鼠标右键单击“部署”,如下图所示。
    image2020-4-9 17:53:35.png

  2. 部署完成后,APIGateway Studio将公共Module和业务Module部署Studio内置的APIGateway ESBServer上,然后启动APIGateway ESBServer,如下图所示。
    image2020-4-9 17:54:13.png

  3. 在APIGateway Studio控制台,看到“APIGateway ESBServer started successfully.”日志字样,表示APIGateway ESBServer启动成功,如下图所示。
    worddav9616750718c46e1b9c5ea2349344eaa4.png

# 测试

1.通过SocketTool进行测试,创建TCP Server,监听端口对应TCP Endpoint配置的端口8001;创建TCP Client,如下图所示。
worddavd5222396ad3efb43f5a64b5028a76c99.png

对方IP为APIGateway ESBServer运行机器IP,对方端口对应TCP Transport配置的端口8000,如下图所示。
worddavffb298ec76d57b2774042e88aa70f2b1.png

2.在TCP Client窗口发送请求,TCP Server窗口会接收到相应信息,如下图所示。
worddav49d67d8369959af086dae283012f9d8b.png
worddavbeb74dfd580984902a48e3b44b1394b2.png

3.在TCP Server窗口发送响应,TCP Client窗口会接收到相应信息,如下图所示。
worddav65f8eb5d56c08e63b8c0ff4e393d3569.png