如何使用 Laravel 广播在一个线程中连接两个随机的人

Posted

技术标签:

【中文标题】如何使用 Laravel 广播在一个线程中连接两个随机的人【英文标题】:How to connect two random people in a single thread using Laravel Broadcasting 【发布时间】:2019-03-12 10:22:16 【问题描述】:

我正在创建一个随机实时聊天,例如 Omegle。

我在使用等待列表连接私人线程中的两个随机人员时遇到了麻烦。使用 Laravel BroadcastingLaravel Job 的最佳方法是什么?

例如:

Route::get('/start', function () 
    // add me to the wait list
    // wait for another person
    // find another person
    // remove me and another person from the wait list

    // dispatch event
    App\Events\AnotherPersonFound::dispatch($anotherPerson, $threadId);
);

【问题讨论】:

'麻烦'如何,以什么方式? 如何配置路由事件实现随机聊天? 所以你想要一个完整的教程? 我将把它标记为关闭,因为它过于宽泛,因为你似乎正在寻找关于如何在 Laravel 中创建实时聊天的指南——其中有 大量的教程,如果你只是谷歌搜索"real time chat Laravel"。这是这样的指南:pusher.com/tutorials/chat-laravel 我想知道如何加入两个正在等待的随机人。我刚刚编辑了我的帖子,请检查一下。 【参考方案1】:

我认为您可以创建一个频道并将用户与之关联,在事件被调度后。

见:https://laravel.com/docs/5.7/broadcasting#presence-channels

您还可以使用以下方式发送有关人与人之间新匹配的通知:

https://laravel.com/docs/5.7/broadcasting#notifications

【讨论】:

以上是关于如何使用 Laravel 广播在一个线程中连接两个随机的人的主要内容,如果未能解决你的问题,请参考以下文章

无法广播客户端事件(连接未订阅频道私聊)

Laravel 事件广播没有被拾取 laravel-echo-server

Laravel (+ Vue.js) 广播 - 如何设置倒计时然后发送广播消息?

如何在 Laravel 中连接两个属性后将值搜索到数据库中

如何在 laravel 中连接两个表?

在两个单独的线程之间共享一个队列,用于在 UDP 广播服务器中接收和处理数据