有没有一个好方法来保存socket.io消息历史记录

2024-04-15

我想记录socket.io消息历史记录,即两个用户交谈的内容,以供以后使用。是否有一些socket.io内置函数可以实现这一点,或者如果没有,有什么好的方法来实现它?


首先,您需要某种方法来识别具有唯一 ID 的用户,该 ID 在用户断开连接时不会消失,例如用户名或电子邮件地址。

然后,对话中的所有消息都应该以某种方式存储在服务器上,就像两个用户之间对话的“聊天对象”中一样。

定期地,当用户断开连接时,或者每次“聊天对象”更改时(例如发送新消息),将“聊天对象”保存在您喜欢的任何类型的数据库中。您可以使用 JSON 序列化“聊天对象”,以您喜欢的任何方式保存它(例如自定义文件、mysql 数据库或其他方式)。要序列化对象,请在节点服务器上使用以下代码:

var chatString = JSON.stringify(theChatObject);

将字符串与两个用户的唯一 ID 一起保存。因此,当同一两个人之间开始新的对话时。您只需转到文件或数据库并检索旧的聊天对象,然后使用以下代码将其反序列化。

var oldChat = JSON.parse(theRetrievedChatString);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一个好方法来保存socket.io消息历史记录 的相关文章

  • 良好的客户端套接字池

    我需要管理从我的 Java 应用程序到外部服务器的长时间运行的 TCP 套接字连接 我正在寻找一个好的套接字池 这样我就可以重复使用套接字 有什么建议吗 你可以看看在上面建立一个套接字池公共池 http commons apache org
  • Django/gevent socket.IO 与 redis pubsub。我把东西放在哪里?

    我有一个独立的 python 脚本 它只是从 Twitter 的流 API 捕获数据 然后在收到每条消息时 使用 redis pubsub 将其发布到频道 tweets 这是该脚本 def main username username pa
  • 使用 asyncore 读取网站

    我想异步阅读一个网站 据我所知 这是不可能的 urllib 现在我尝试使用普通套接字进行阅读 但是 HTTP 给我带来了麻烦 我遇到了各种时髦的编码 例如传输编码 分块 必须手动解析所有这些东西 我现在想编码 C 而不是 python 难道
  • 我该怎么做才能完全关闭与mcu的tcpClient连接?

    我现在正在研究与 ESP32 中运行的 tcp 服务器的 tcp 套接字连接 通信工作正常 但我无法关闭连接 在搜索关闭 重置 tcpClient 上的解决方案后 似乎关闭 tcpClient 的正确方法应该是 tcpClient GetS
  • Netty:正确关闭 WebSocket

    如何从服务器端正确关闭 WebSocket 通道 连接 如果我使用一个ctx getChannel close the onerror在浏览器 Firefox 9 中抛出 页面加载时与 ws localhost 8080 websocket
  • ZeroMQ可以用来接受传统的套接字请求吗?

    我正在尝试使用 ZeroMQ 重写我们的旧服务器之一 现在我有以下服务器设置 适用于 Zmq 请求 using var context ZmqContext Create using var server context CreateSoc
  • 如何在Python中使用tcp套接字发送和接收网络摄像头流?

    我正在尝试重新创建这个项目 https github com hamuchiwa AutoRCCar 我拥有的是服务器 我的电脑 和客户端 我的树莓派 我所做的与原始项目不同的是我尝试使用一个简单的网络摄像头而不是树莓派摄像头将图像从我的
  • Socket.*Async 方法是线程化的吗?

    我目前正在尝试找出最小化 TCP 主服务器中使用的线程数量的最佳方法 以便最大限度地提高性能 由于我最近阅读了大量 C 5 0 的新异步功能 异步并不一定意味着多线程 这可能意味着将有限状态对象分成较小的块 然后通过交替与其他操作一起进行处
  • 使用 Netty 将 websocket 与在 tomcat 中运行的 Spring Web 应用程序集成

    我有一个使用 Netty 的 Web 套接字服务器实现 例如监听端口 8081 和一个在 Tomcat 中运行的单独的 Spring Web 应用程序 在端口 80 中运行 我想以某种方式将所有来自 localhost 80 Websock
  • 在 PCL 中使用 System.Net.Sockets(.Net 4.5 + 电话 8)

    我现有的 Net 库已经适用于 Net 4 5 和 Windows Phone 8 现在我想将其转换为可移植类库 突然我无法使用System Net Sockets不再了 我只检查了 Net 4 5和Windows Phone 8 未选择X
  • 在 Apache 上设置 websocket?

    所以我正在对 websockets 进行一些研究 我有几个问题似乎找不到明确的答案 如何在 Linux 服务器上设置 Web 套接字 有 Apache 模块吗 我可以吗have使用第 3 方 PHP 代码或类似代码 除了浏览器兼容性之外 问
  • 套接字到底是什么?为什么我们不能使用套接字而不是 HTTP?

    套接字只是两台机器之间的连接吗 如果可以建立套接字 为什么我们还要使用 HTTP 连接呢 我认为这是一个关于套接字和 HTTP 连接之间关系的非常普遍的问题 我还假设 HTTPConnection 并不指涉及特定 API 运行时 环境的内容
  • UDP 广播发送失败:在 Linux 2.6.30 上“网络无法访问”

    我用udp广播写了一个程序 代码段如下 struct sockaddr in broadcast addr socklen t sock len sizeof broadcast addr bzero broadcast addr sock
  • Spring Websocket升级请求处理

    我正在尝试使用Spring Websocket with Sockjs and STOMPjs 如上所述Spring Websocket 文档 https docs spring io spring docs 5 0 0 BUILD SNA
  • 如何从 WinRT StreamSocket 读取所有可用数据并清空 inputStream?

    我想在向套接字写入新数据之前读取当前正在等待套接字的所有数据 WinRT中的读取方法都是异步的 所以我不能简单地while直到套接字为空 由于我确实想丢弃套接字上的数据 因此我不想使用读取器 而是直接从套接字读取数据IInputStream
  • 使用单个“proxyServer”将 Websocket 代理到多个目标

    我正在开发一个nodeJS websocket代理服务器 用例是当 websocket 请求到来时 我将检查其凭据 添加新标头 然后根据其组 来自用户 ID 将 websocket 连接重定向到其目标 webscoket 服务器 我发现大多
  • 通过 SSLStream 发送数据时出现数据包碎片

    当使用 SSLStream 将 大 数据块 1 兆 发送到 已通过身份验证的 客户端时 我看到的数据包碎片 分解是FAR比使用普通 NetworkStream 时更大 在客户端上使用异步读取 即 BeginRead 会重复调用 ReadCa
  • 为什么我不能将 ipv6 套接字绑定到 linklocal 地址

    include
  • Java 套接字 - 读和写

    问题 客户端没有收到任何消息 这是客户端和服务器的完整代码 CLIENT public class Client extends Socket public Client String hostName int port throws Un
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com

随机推荐

  • 在ExoPlayer中,到底如何使用SimpleExoPlayer.setVideoScalingMode就像在ImageView center-crop中一样?

    背景 我正在尝试以中心裁剪方式显示视频 就像在 ImageView 上一样 我也希望我能找到如何以其他方式扩展规模 就像上所做的那样这个图书馆 https github com yqritc Android ScalableVideoVie
  • 使用 NancyFX 时出现 Razor 编译错误

    我正在使用 Nancyfx 和 Visual Studio 2012 中的 Razor 视图引擎在 C 中创建一个黑杰克程序 Visual studios Intelisense 可以工作 但我收到这些 Razor 编译错误 我尝试在 ap
  • 重载Python中的所有算术运算符

    假设我构建一个类 它基本上代表一个数字加上一些奇特的东西 该类的实例的行为应该类似于任何算术 数学运算中的数字 我可以重载该类中的所有数字运算符 但是没有更短的解决方案吗 该类基本上如下所示 class MyFancyNumber def
  • Python 正则表达式错误字符范围。

    我使用以下正则表达式来匹配不同的日期模式 它在 regex101 com 中工作正常 但是当我导入到 python 时 我收到 错误字符范围 异常 pattern ur b january jan february feb march ma
  • Kivy AttributeError:“超级”对象没有 ScreenManager 的属性“__getattr__”[重复]

    这个问题在这里已经有答案了 我正在尝试将方法绑定到微调器的文本值 最迟需要在显示 TestScreen 时进行绑定 如果我不使用 ScreenManager 这将有效 例如 如果 TestApp build 返回 TestScreen 而不
  • 在持续集成下删除和创建数据库的防弹方法

    我正在尝试从 CI 设置中删除并重新创建数据库 但我发现很难自动删除和创建数据库 考虑到正在使用的数据库的复杂性 这是可以预料的 有时 进程会挂起 错误提示 数据库当前正在使用 或者只是花费太长时间 我不在乎数据库是否正在使用 我想杀死它并
  • 使用 phimagemanager 将图像保存到自定义相册?

    我正在制作一个使用 AVFoundation 拍照的应用程序 我想将它们保存到一个自定义相册中 然后我可以查询并在我的应用程序中显示 我不想把它们放在一般的照片卷中 除非用户想要 我真的找不到任何东西来展示如何在 Swift 中做到这一点
  • R: is.na() 没有获取 NA 值

    所以我有一个数据集 只需查看它 数据集中就有明显的 NA gt dput bmi cig structure list MSI subset BMI structure c 4L 4L 4L 4L 4L 4L 4L 4L 4L 4L 4L
  • 在类库中添加 System.Web.Script 引用

    我目前正在将代码从 app code 文件夹移动到类库 我已经标记了几种方法 System Web Script Serialization ScriptIgnore 属性 我的类库看不到这个命名空间 我的添加引用对话框看不到此命名空间 如
  • 如何使用 jQuery 验证检查确切的长度?

    使用jQuery 验证插件 http docs jquery com Plugins Validation要验证表单 您如何确认字符串的长度恰好是 X 个字符 由于 当前 没有内置方法 因此您需要添加自己的方法 这会起作用 jQuery v
  • 将nodejs添加到文件前面

    对于 Node js 以类似于以下方式添加到文件的最佳方法是什么 fs appendFile path join dirname app log appendme utf8 就个人而言 最好的方法实际上是围绕异步解决方案来创建日志 我基本上
  • axios默认超时是多少

    我在文档中找到了设置超时值的步骤 const instance axios create baseURL https some domain com api timeout 1000 headers X Custom Header foob
  • 如何使用 sbt 将 Scala 库发布到 Maven Central?

    我有一个使用 SBT 的开源 Scala 项目 我想将我的库发布到 Maven 我该怎么做 我总是忘记如何做到这一点 所以这是我的笔记 一生中一次 Create Sonatype账户 https issues sonatype org se
  • 无法使用 Beautiful Soup 解析 html 表

    我对使用 Beautiful Soup 很陌生 我正在尝试从下面的 url 导入数据作为 pandas 数据框 但是 最终结果具有正确的列名称 但没有行号 我应该做什么呢 这是我的代码 from bs4 import BeautifulSo
  • NorthPolarStereo 的中心经度

    我想绘制北半球的极地立体图 底部为 180 这样我就可以强调太平洋地区 我正在使用 git 的最新 cartopy 并且可以使极地立体图没有问题 但我不知道如何更改图底部的经度 我尝试将经度范围设置为 180 180 但这没有帮助 并且 N
  • 已超出“max_user_connections”资源

    我有一个 MySQL Express Angular NodeJS 应用程序 有时当我登录时 我的节点控制台中会出现以下错误 类型错误 无法读取未定义的属性 查询 错误发生在我的passport local js文件 这是行 connect
  • 部署Java EE应用程序后执行任务

    我有一个 Java EE 应用程序 它应该在部署后启动与外部系统的同步过程 我怎样才能实现这个要求呢 下面列出了在 JavaEE 应用程序中获取生命周期回调的几种流行方法 创建 javax servlet ServletContextLis
  • Java Swing - 将 JLabel 中的图像放置到第二个 JLabel 上/上方(地图、玩家指示器)

    我有一个带有 GridBagLayout 的 JFrame 窗口 有一个带有图标的 JLabel 它是一张地图 现在我需要在地图上方显示另一张图片 玩家位置指示器 可以吗 怎么样 非常感谢 子类化 JLabel 并重写 Paint 方法 p
  • Kubernetes:如何从一个环境变量引用另一个环境变量?

    I ve a Deployment我使用以下方法公开 POD ID 的对象向下API https kubernetes io docs tasks inject data application environment variable e
  • 有没有一个好方法来保存socket.io消息历史记录

    我想记录socket io消息历史记录 即两个用户交谈的内容 以供以后使用 是否有一些socket io内置函数可以实现这一点 或者如果没有 有什么好的方法来实现它 首先 您需要某种方法来识别具有唯一 ID 的用户 该 ID 在用户断开连接