Gatewayworker硬件、服务器、App的三端通讯。一个项目中使用两个GatewayWorker, 使用两个GatewayClient

前段时间一直忙于做基于gatewayworker的三端互联.
主要就是:
硬件发送消息给服务器, 然后服务器转发给APP.。APP发送消息到服务器, 然后转发给硬件设备
这个在这里插入图片描述
上图中的通讯为双向(本人作图能力实在欠缺)

如图所示, 我使用的是Gatewayworker框架, 中间也是在同一项目部署了一个TCP的协议, 一个Websocket协议(因为硬件那只能访问TCP, 软件只能访问WS)
关于Gatewayworker的下载 可以直接去手册: Gatewayworker手册

GatewayWorker的安装+初步连通

  1. 下载好了之后把GatewayWorker复制一份命名为WSGatewayWorker
  2. 更改WSGatewayWorker中的服务注册地址(自带的应该是1238, 此处我更改为1239), 注意是三个文件都改. 更改Gateway进程地址(自带应该8282, 我改为8283), 更改内部通讯地址(自带2900 我改为3000)
  3. 然后更改后使用前端代码测试下, 此处注意链接地址如果是本地就127.0.0.1 放到服务器上一定要是服务器IP或者域名地址
  4. Websocket链接没问题之后, 测试TCP连接, 这块可以用windows自带的telnet命令, 也可以下载类似于硬件使用的终端, 进行TCP连接
  5. 两处连接没问题后进入一下流程

两端通讯的打通

  1. 打开手册中的 常见问题 -> 在其他项目中主动推送消息打开 下载对应的GatewayClient源码, 然后部署到项目中
  2. 修改GatewayClient中的注册地址, 分别对应TCP, WS的注册地址(切记, 不要在同一个方法进程中使用这两个GatewayClient, 不然会报错)
  3. 下面进行业务流程: TCPGatewayWorker接收到消息然后使用curl_post转发给指定业务接口(例: api/do_socket) , 然后在业务流程中使用Websocket对应的GatewayClient(此处命名为: WSGatewayClient), 给APP推送消息. 然后返回消息给curl_post. TCPGateWorker去判断就行

至于以后的流程,这块主要用作自己的业务逻辑进行判断, 这只是一个大概的流程, 简单的给同学们介绍一下如何在同一个服务器同一个项目使用两个不同协议的GatewayWorker

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值