angular - 在 Angular 中刷新页面。Socket.io 问题
问题描述
我的聊天网络应用程序使用带有 RxJS 的 socket.io;为了拥有“持久”套接字,我在服务构造函数中创建了 socket.io 客户端;一切正常,但如果用户刷新(F5 / Cmd-R)应用程序,客户端套接字将重新创建,旧的套接字将被销毁。有没有办法避免它,维护相同的 socket.io 客户端?
解决方案
每当刷新页面时,该页面消耗的所有内存都将被删除,因此上下文将丢失,所有对象实例也将丢失这就是为什么无法在刷新时保留套接字客户端实例的原因。如果您想以某种方式在浏览器会话中跟踪同一用户,您可以在第一次将其保存到sessionStorage时生成一些唯一的 Id, 然后将其传递给套接字初始化时的查询参数。通过该 ID,您将能够在浏览器会话中识别此用户
推荐阅读
- git - Git漂亮格式短格式日期不起作用
- r - 在R中的两列中创建一个数字序列
- python - ValueError: int() 以 10 为基数的无效文字:'' 使用 tkinter
- javascript - 我可以拆分映射的项目吗?
- linux - 在 ESXi 上安装 vCenter 时出错(安装在 PC 上)
- compilation - Babel-CLI -- 使用 package.json 文件来“监视”一个目录不会更新编译的源代码
- c - 如何告诉 VSCode 在哪里可以找到头文件和源文件
- mongodb - 如何在 MongoDB 中对数组类型的字段进行排序
- pine-script - 松脚本交易 - 部分退出适用于多头但不适用于空头策略
- encryption - Chrome VPN(代理)扩展程序中的加密如何工作?