如何使用socket.io mysql nodejs express删除帖子

Posted

技术标签:

【中文标题】如何使用socket.io mysql nodejs express删除帖子【英文标题】:how to delete post using socket.io mysql nodejs express 【发布时间】:2021-07-19 01:31:23 【问题描述】:

我正在学习制作简单的消息应用程序,它允许用户添加状态并实时更新到每个人的订阅源。

我正在使用 socket.io、mysql、nodejs 和 express。 用户可以实时发送消息。 在浏览器启动时,它会加载数据库中的所有数据。

请问如何删除基于ID的消息?

谢谢。

【问题讨论】:

【参考方案1】:

在不知道您当前如何发布帖子的情况下无法给出详细的响应,但假设您也从您的套接字发出了响应..

websockets 是与用户的持久连接,因为客户端和服务器都可以发出或接收命令。有了这些知识,我们现在可以从“客户端”向“服务器”“发出”一条命令,当“客户端”向“服务器”发出时,该帖子已被“删除”,然后套接字服务器可以从中删除该帖子数据库,在删除完成后,它将“发送”给“客户端”,该客户端具有“postDelete”(或任何您想调用的名称)的侦听器,该侦听器可能包含更新的帖子列表,或者它可能有另一个调用运行更新发布功能等。

** 编辑 **

为此添加更多内容。

请务必记住,socket.io 实际上只是某种消息代理。它可以 GET 和 EMIT 消息,您告诉它如何以及为每个消息做什么。 所以关于你将如何“删除”消息的问题与你通常如何处理它并没有什么不同

    (客户端)用户点击删除,“发射”到服务器 服务器正在“侦听”X 命令上的“发射”以删除 服务器获取命令,在 '.on' 中用于删除的是您的“删除”代码(可能是要从数据库中删除的 SQL) 命令运行并成功后,您将使用“posts”的新负载从服务器“发出” 客户端有一个“.on”来监听新的或更新的“帖子”服务器“发出”到这个 客户端使用更新后的 JSON 从服务器获取新的“发射”并更新屏幕。

【讨论】:

最好的思考方式是不要考虑如何通过 socket.io 来做这件事,而不是在没有.. 的情况下如何做。听起来很愚蠢,但所有的 socket.io 都是消息代理。两端(客户端和服务器)的一组侦听器。每个“侦听器”内部都是您的代码。因此,如何从数据库中“删除”帖子只是常规的“从数据库中删除 X = ID”,然后将响应返回给客户端(可以是 JSON 或另一组执行操作的指令)

以上是关于如何使用socket.io mysql nodejs express删除帖子的主要内容,如果未能解决你的问题,请参考以下文章

验证 socket.io/nodejs 的用户

如何在套接字函数之外使用(socket.io)发射函数-nodejs,express

如何在前端获取 socket.on 函数?事件被触发和处理。我正在使用 socket.io、NodeJS 服务器和 Redis.io

如何使用 socket.io、react native、nodejs 管理聊天应用程序的多个套接字连接

如何使用套接字(socket.io)在 NodeJS 中找到客户端的响应时间(延迟)?

NodeJS 和 Socket.IO 用户认证