大锅们,请教一个问题。
就是我要实现一个聊天对话的功能需要用到websocket吗?还是简单的数据库的数据操作就行了?
还有评论功能,要不要用到websocket技术啊,为啥我感觉只要设置好表之间的关系,正常数据库操作就行了?
裘教裘教
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 服务。
我理解您的问题是如何使用websocket技术来实现聊天和评论功能,以下是我给出的解决方案:
可以通过使用websocket工具类的方式来完成聊天和评论功能的实现。可以在工具类上添加OnOpen、OnClose、OnMessage和OnError等WebSocket注解,然后通过注入System WebSocket Endpoint实例,可以在端点类中访问WebSocket会话和处理WebSocket消息。
在WebSocket中,客户端和服务端之间需要遵循一个通信协议,这个协议可以用json格式来传递消息。具体来说,应该设计好消息包的格式,包括消息类型、消息内容、发送者和接收者等信息,从而可以实现不同消息类型的发送和处理。
基本功能包括发送消息、接收消息、获取在线人数等。要注意的是,发送消息要发送给所有在线的人,可以通过遍历sessions来实现,而接收消息可以通过控制器中的OnMessage注解来实现。
高级功能包括弹幕、表情、图片等,可以根据具体业务需求来实现,以提高用户体验。
总之,通过以上步骤,就可以实现聊天和评论功能。具体代码可以参考websocket工具类示例的实现。