dtv8189 2018-04-08 06:42
浏览 64
已采纳

回声连接不接收来自广播在线频道的数据

I'm very basic at laravel's echo and pusher and I've been facing an issue despite the docs and tutorials. I'm trying to create a real time chat message feature in my website following a youtube video. Excerpts of code from my controller, model, channel and app.js are below respectively:

public function send(Request $request)
{
    $user = Auth::user();
    $id = Auth::user()->id;

    $message = $user->messages()->create([
        'user_id' => $id,
        'messages' => $request->get('messages')
    ]);
    broadcast(new MessagePosted($message, $user));
    return ['status' => 'Message Sent!'];
}

model:

 public function broadcastOn()
    {
//        return ['chatit'];
          return new PresenceChannel('chatit');
    }

channel:

Broadcast::channel('chatit', function ($user) {
    return true;
});

app:

window.Echo.join('chatit')
            .listen('MessagePosted', (e) => {
        console.log(e)
    });

My issue now is that if i return chatit (which i've commented) in my model, and change join to channel, i get to see the result of console.log, but when i use the presence channel instead, and use join in app.js, i only get message sent status. Any help will be appreciated.

展开全部

  • 写回答

1条回答 默认 最新

  • dormbaf90464 2018-04-11 08:46
    关注

    I don't know why but after some hours of frustration, I restarted my pc and it just started working.

    I also found out that terminating and rerunning php artisan serve process could also solve the issue

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部