我使用 jquery 和 turbolinks 制作了一个聊天系统,并且我使用短轮询来刷新页面内容以检查新消息。
现在我正在迁移到 websocket (larave-websocket),我传递了我需要的所有东西:
$message=Message::create([
'from_user' => auth()->user()->id,
'to_user' => $to_usr,
'mescont' => request('mescont'),
'image'=> implode("|",$images),
]);
broadcast (new MessageSent($message->mescont,$message->image,$message->from_user,$message->to_user,$message->id));
问题是,过去我将消息直接存储、编辑和删除到数据库,因为我没有使用 websocket,现在我使用 websocket,所以当我发送新消息时,我将使用 javascript 显示它并将其保存在数据库,但是...但是如果编辑或删除消息,它将被编辑或从数据库中删除,但不会生效,因为它是从浏览器(js 和 websocket)读取而不是从数据库中读取,除非我刷新页面从数据库中获取消息
有什么办法可以编辑这个
broadcast (new MessageSent($message->mescont,$message->image,$message->from_user,$message->to_user,$message->id));
例如使它像这样
broadcast (update MessageSent($message->mescont,$message->image,$message->from_user,$message->to_user,$message->id));
我不知道我是否清楚地解释了我的问题,但基本上我想使用 websocket 编辑消息
如果您想要更多解释,请在评论中询问,我会尽量说清楚
谢谢