我是API开发的后端,后端发送给前端的消息如何通过gatewayworker发送呀,是在后端代码直接调用GatewayClient这个API就行了吗?

EmeryChen

我想实现一个简单的后台点击审核是否通过,客户端实时接收审核成功或失败的消息,我现在遇到的问题是gatewayworker怎么跟后端连接在一起,后端发送给前端的消息如何通过gatewayworker发送呀

use GatewayClient\Gateway;
 class Notice extends Base
{
  public function add() {

        if(request()->isPost()) {

            $data = input('post.');

            try {
                $id = model('notice')->add($data);
                Gateway::$registerAddress = '127.0.0.1:1236';
                Gateway::sendToAll(json_encode($data));
            }catch (\Exception $e) {
                return $this->result('', 0, '新增失败');
            }
}
3991 2 1
2个回答

blogdaren

1、GatewayWorker模型中推送数据直接使用 GatewayClient 客户端推送就可以了。 
2、通过GatewayClient发送的数据不会经过Event.php,而是直接经由Gateway进程转发给客户端。

  • EmeryChen 2018-10-25

    那后端推送的这个数据要传给GatewayClient,是不是直接在后端API里面调用GatewayClient就可以了?

  • blogdaren 2018-10-25

    是的, 直接调用 GatewayClient 发送就行了

var_dump

后台还可以这样发送数据到GatewayWorker服务器呀???  use GatewayClient\Gateway 这个如何引进来呢??
我现在做一个车牌收费系统, 扫码提交车牌,把数据发送到对应的正在连接车牌的客户端,然后客户端返回相应的数据,可是客户端返回的数据是在它自己连接的进程上,我如何去开发比较好呢

  • hashapi 2018-12-26

    把GatewayClient放到extend里面就可以了

  • var_dump 2018-12-26

    GatewayClient是不是主要用来发送数据,但是没有返回数据吧

年代过于久远,无法发表回答
🔝