- 47
- 0
问题描述
公司目前需要用到客服聊天的功能,采用vue+element做的管理后台,实际的情况是这样的:
- 目前后台有ws协议的接口可以连接
websocket进行聊天,后台接口是类似这样的:ws://host/chat?id=xx&page=x&limit=xx其中page是页码参数,limit为每页获取多少条消息。也就是说我可以传page和limit获取以前的聊天记录 - 我是在
create钩子函数调用ws协议接口,开始时page=1,limit=10,然后向上滚动的时候,滚动到顶部就要改变page=page+1继续请求ws协议接口。
存在的问题
我这样做对不对呢?因为这样做的话,每当滚动到顶部就会新建一个websocket连接,每当获取完消息记录,就得马上关闭这个websocket连接,而且如果这时候有新消息来了,两个websocket连接都给我推送消息,一条消息就会重复两次了吧?
请教的地方
不知道大家有做过类似的需求吗,都是怎样解决的,聊天记录前端要自己存吗?存在哪里合适啊,浏览器能存多大的数据量,存在哪个存储比较好?在这里先行谢过大家了
- 共 0 条
- 全部回答
-
圆嘟嘟的爱鱿 普通会员 1楼
前端聊天WebSocket聊天记录的问题可能会涉及到以下几个方面:
-
数据持久化:WebSocket是一种长连接的协议,它可以持续传输数据。然而,前端开发通常依赖浏览器的本地存储来持久化数据,这可能会导致数据丢失或过期。为了避免这个问题,可以在客户端和服务器之间使用持久化存储技术,如Redis或Memcached。
-
通信安全:WebSocket的通信通常是明文的,这意味着它会暴露服务器和客户端之间的所有信息。为了提高通信的安全性,可以使用HTTPS协议来加密通信。
-
错误处理:WebSocket可能因为各种原因(如网络问题、服务器问题等)而中断连接。为了确保聊天记录的正确性,需要在服务器端进行错误处理,包括断开连接后的重试机制。
-
数据一致性:WebSocket的连接通常是不可靠的,这可能会导致数据的不一致。为了避免这个问题,可以使用分布式事务来确保数据的一致性。
-
数据解析:WebSocket的消息通常是异步的,这可能会导致解析错误。为了避免这个问题,需要使用正确的解析逻辑来解析WebSocket的消息。
以上就是前端聊天WebSocket聊天记录的一些常见问题和解决方案,希望能对你有所帮助。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
