正常聊天功能的实现需要用websocket吗

大锅们,请教一个问题。
就是我要实现一个聊天对话的功能需要用到websocket吗?还是简单的数据库的数据操作就行了?
还有评论功能,要不要用到websocket技术啊,为啥我感觉只要设置好表之间的关系,正常数据库操作就行了?
裘教裘教

websocket主要是可以做到实时获取数据,如果不用它,你就要不断主动去查询数据库看看有没有新的消息,那么会有延迟而且性能比较差。当然,对于学生习作,也可以凑合下。

用websocket 简单呀 哈哈哈哈 干嘛还要去设计数据库 想保存聊天记录可以用数据库实时聊天就用websocket
个人见解

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/381621
  • 你也可以参考下这篇文章:Android中使用webSocket实现文字及单张图片发送聊天功能
  • 除此之外, 这篇博客: 对 Websocket 完全不懂,但又想搞个聊天室,行吗?中的 Websocket 服务端与客户端实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    经过前面对通信过程的梳理,我们将 WebSocket 通信的基本机制已经说的差不多了,为了方便你快速进入实战阶段,我们暂时放弃纯手写实现,直接选择使用老牌的 WebSocket 库: WebSocket-Nodehttps://github.com/theturtle32/WebSocket-Node

    简单介绍一下 WebSocket-Node,它有多老牌呢?

    NPM 的包名字就是直接使用的 “WebSocket”。曾经,我们西岭老湿看到之后就给出了两个字的评价:“猖狂”。

    这个库完全使用 JavaScript 实现,包含了客户端及服务端的实例。其中,客户端包含了 Node 和 浏览器 两个运行环境的代码,除了支持我们前面提到的 Websocket 协议的 13 版本,它同时还支持 Websocket 协议 8 这个老版本,实属优秀。

    接下来,我们就来看看,如何借助 Websocket-Node 实现一个 Websocket 服务。

  • 您还可以看一下 可用行师老师的物联网即时通信架构实现与实战课程中的 linux上多进程多协议测试websocket数据收发小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我理解您的问题是如何使用websocket技术来实现聊天和评论功能,以下是我给出的解决方案:

    1. 集成websocket工具类

    可以通过使用websocket工具类的方式来完成聊天和评论功能的实现。可以在工具类上添加OnOpen、OnClose、OnMessage和OnError等WebSocket注解,然后通过注入System WebSocket Endpoint实例,可以在端点类中访问WebSocket会话和处理WebSocket消息。

    1. 设计通信协议

    在WebSocket中,客户端和服务端之间需要遵循一个通信协议,这个协议可以用json格式来传递消息。具体来说,应该设计好消息包的格式,包括消息类型、消息内容、发送者和接收者等信息,从而可以实现不同消息类型的发送和处理。

    1. 实现基本功能

    基本功能包括发送消息、接收消息、获取在线人数等。要注意的是,发送消息要发送给所有在线的人,可以通过遍历sessions来实现,而接收消息可以通过控制器中的OnMessage注解来实现。

    1. 实现高级功能

    高级功能包括弹幕、表情、图片等,可以根据具体业务需求来实现,以提高用户体验。

    总之,通过以上步骤,就可以实现聊天和评论功能。具体代码可以参考websocket工具类示例的实现。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^