如何处理 laravel-echo 服务器端的窃窃私语?

How to handle whisper in server side in laravel-echo?

我正在构建实时聊天系统。

这是前端代码。

加载

Echo.join(`chat.${id}`)
    .here(users => {})
    .listenForWhisper('sent', (e) => {});

已发送

Echo.join(`chat.${id}`)
    .whisper('sent', {
        message : message,
        sender : sender,
    });

我想做的就是像这样处理laravel中的'sent'耳语事件

$message; // I want to get from whisper
$sender; // I want to get from whisper
Chat::create([
   "message" => $message,
   "sender" =>  $sender,
]);

但我不知道如何实现它。 所以,到目前为止我都是这样编码的。

已发送

Echo.join(`chat.${id}`)
    .whisper('sent', {
       "message" : message,
       "sender" : sender,
    });

axios.post('/message_sent', {
   message : message,
   sender : sender,
});

api.php

Route::post('/message_sent', function(Request $request) {
  Chat::create([
      "message" => $request['message'],
      "sender" => $request['sender'],
  ]);
});

在这种情况下,消息(从客户端到服务器)是通过 HTTP 发送的,而不是 TCP/IP。

有谁知道如何在服务器端获取耳语值吗??

由于 whisper 事件只是一个 客户端到客户端的功能,目前无法使用 Laravel后端.

参见: laravel.com/docs/broadcasting#client-events