有没有一个好方法来保存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消息历史记录 的相关文章

  • NodeJS:TCP套接字服务器仅在第一次返回数据

    我正在尝试在 node js 中编写一个小型中继脚本 用于侦听本地套接字上传入的 TCP 连接 当它收到连接时 将流量转发给第三方 它还必须从该第三方获取任何返回的数据并将其发送回原始本地套接字 我试过类似的代码http delog wor
  • 为什么socket会干扰selenium?

    我编写了一个 python 脚本来使用套接字检查互联网连接 检查网络连接 https stackoverflow com questions 3764291 checking network connection 然后使用 selenium
  • 可以模拟多个并发连接来测试 Nodejs 应用程序

    我有一个简单的node js socket io websockets 应用程序运行 localhost 我想看看它可以处理多少并发连接 是否可以在本地主机本身上模拟多个并发用户 这是我使用 socket io client 的半生尝试 f
  • 具有非阻塞或多线程功能的 Ruby Tcp Server 类

    找不到任何可以帮助创建非阻塞 多线程服务器的 gem 或类 哪里可以找到 The Ruby 文档 http ruby doc org core classes Socket html M002091关于套接字有一些很好的例子 使用该页面中的
  • 客户端 websocket 限制消息长度

    我正在使用 node js 开发一个 websockter 服务器 并且我发现了 Chrome 中的一些怪癖 Chrome OS X 10 7 64 位 上的最大字符串长度为 17740 而 Firefox 似乎可以毫无问题地处理非常大的字
  • 如何使用ssl启动flask_socketio应用程序?

    我应该如何使用 SSL 将 app run 转换为 sockio run 我有下面的应用程序启动代码与 Flask 开发服务器一起运行 if name main app run ssl context ssl cert ssl key 我现
  • C++ boost asio超时用于阻止连接

    我有一个 C boost 客户端 它执行阻塞连接并在收到响应后处理消息 我面临一个奇怪的问题 tcp resolver query query tcp v6 this gt host port tcp resolver query v4 m
  • 保持 WebSocket 连接处于活动状态

    我正在研究 WebSocket 协议 并尝试在后端使用 Python 实现一个简单的 ECHO 服务 它似乎工作正常 但连接建立后立即断开 这是我的客户
  • 如何与Socket.io连接?雨燕4

    我已阅读最新文档 https github com socketio socket io client swift of Socket io对于斯威夫特 还有一个新连接的示例 let manager SocketManager socket
  • lua-socket:unix 域套接字?

    我使用的是 lua socket 3 0rc1 3 Ubuntu Trusty 附带的 和 lua 5 1 我正在尝试监听 unix 域套接字 我能找到的唯一示例代码是this http lua users org lists lua l
  • WebSocket如何压缩消息?

    JSON stringify 显然空间利用率不高 例如 123456789 123456789 占用 20 多个字节 而它可能只需要大约 5 个字节 websocket 在发送到流之前是否会压缩其 JSON WebSocket 的核心只是一
  • 如何从任何进程关闭 Windows 上的套接字(ipv4 和 ipv6)连接?

    如何在 Windows 上关闭 tcp v4 和 tcp v6 连接 我不想终止具有开放连接的整个进程 因为这显然会将其他人踢出该进程 我需要从一个单独的进程执行此操作 因此无法访问套接字句柄等 我正在使用 Windows API 来获取
  • Android设备到PC的socket连接

    我面临着建立从 Android 设备到 PC 的特定端口的套接字连接的问题 例如8080 我只想创建一个套接字 它将连接到特定端口并在该端口上写入一些数据流 我为此目的编写了一些代码 但代码给了我一个例外 TCP Error java ne
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • Android socket.io应用程序无法连接到node.js服务器

    我的应用程序使用socket io 无法连接到node js 服务器 服务器节点 js var app require http createServer var io require socket io app app listen 10
  • RTSP 设置后接收 RTP 数据包

    我正在尝试使用 Python 从 IP 摄像机流式传输 RTP 数据包 我能够使用 RTSP 协议发送描述 设置和播放命令 但是 我无法开始使用 RTP 传输实际视频流 这是代码 import socket def printrec rec
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 从物理上来说,套接字是什么?

    我总是更喜欢编程概念的物理含义而不是其逻辑含义 那么这个问题就来了 当我回顾套接字编程范例时 我注意到bind 连接 函数所做的就像tuning由创建的套接字socket 功能 所以我想那是什么socket 函数所做的只是创建一个数据结构
  • socket.io 发出多次触发的事件

    我在这里读过一些关于这个主题的问题 但我还不确定如何在我的情况下解决它 这getMsgs发出事件的触发次数与我访问的次数一样多 admin网址 我从 SO 的其他问题中知道 这是因为每次我访问时听众都会注册admin页面 但我不确定如何重构

随机推荐

  • 在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 在用户断开连接