【问题标题】:laravel echo listen the socket? not the variable?laravel echo 监听套接字?不是变量?
【发布时间】:2019-03-05 19:33:16
【问题描述】:

queue.blade.php

   Echo.channel('everyone')
            .listen('Queue_number', function (e) {
                 console.log('e='+e);
                 console.log('e keys='+Object.keys(e));
                 console.log('socket='+e.socket);
                 console.log('city='+e.city);
                 console.log('p_id='+e.p_id);
                 console.log('message='+e.message);
                 console.log('s_number='+e.s_number);

app/Events/Queue_number.php

class Queue_number  implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public $message;
    public $s_number;
    public $city;
    public $p_id;
    public function __construct($message,$s_number,$city,$p_id)
    {
        $this->message = $message;
        //$this->s_number = $s_number;
        $this->s_number = '1234';
        $this->city = '236';
        $this->p_id = $p_id;

    }

    public function broadcastOn()
    {
        return new Channel('everyone');
    }

控制器

   public function queue_add(Request $request)
    {
        $message = $request->validate(['message'=>'required']);
        $s_number=$request->name;
        $city=$request->city;
        $p_id=$request->p_id;

        broadcast(new Queue_number($message['message'],$s_number,$city,$p_id));
//->toOthers()

return response()->json(['status'=>'success','message'=>$message['message'],'s_number'=>$s_number,'city'=>$city,'p_id'=>$p_id]);
    }

我收到了来自 Events Queue_number.php 的控制台

       e=[object Object]
63:615 e keys=message,s_number,socket
63:616 socket=null
63:617 city=undefined
63:618 p_id=undefined
63:619 message=1
63:620 s_number=1234

我不知道为什么 message 和 s_number 是正确的,但其他的比如 city 和 p_id 是 null,未定义?

对象键是message,s_number,socket

为什么要显示“socket”这个关键词?

如何解决问题来获取这两个变量 $city 和 $p_id?

感谢任何帮助。

【问题讨论】:

    标签: laravel socket.io laravel-5.6 laravel-echo socket.io-redis


    【解决方案1】:

    我找到了愚蠢的答案 每当更改代码 您必须重新启动 1.laravel-echo-server 启动 2.php工匠队列:工作

    一切都很好~

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      • 2020-08-30
      • 2011-02-15
      • 2017-08-21
      • 2020-09-17
      • 2018-07-29
      • 2022-06-21
      相关资源
      最近更新 更多