Angular 以角度刷新页面。Socket.io问题

Angular 以角度刷新页面。Socket.io问题,angular,socket.io,rxjs,Angular,Socket.io,Rxjs,我使用socket.io和RxJS创建聊天web应用程序;为了拥有“持久”套接字,我在服务构造函数中创建socket.io客户端;一切正常,但如果用户刷新(F5/Cmd-R)应用程序,则会重新创建客户端套接字并销毁旧的套接字。 有没有办法避免它,维护相同的socket.io客户端?每当刷新页面时,该页面消耗的所有内存都会被删除,因此上下文会丢失,所有对象实例也会丢失 这就是为什么在刷新时无法持久保存套接字客户端实例的原因。 如果您想在浏览器会话中以某种方式跟踪同一用户帐户,您可以在第一次生成某个

我使用socket.io和RxJS创建聊天web应用程序;为了拥有“持久”套接字,我在服务构造函数中创建socket.io客户端;一切正常,但如果用户刷新(F5/Cmd-R)应用程序,则会重新创建客户端套接字并销毁旧的套接字。
有没有办法避免它,维护相同的socket.io客户端?

每当刷新页面时,该页面消耗的所有内存都会被删除,因此上下文会丢失,所有对象实例也会丢失 这就是为什么在刷新时无法持久保存套接字客户端实例的原因。 如果您想在浏览器会话中以某种方式跟踪同一用户帐户,您可以在第一次生成某个唯一Id并将其持久化
然后将其传递给on套接字初始化。通过该id,您将能够在浏览器会话中识别该用户,无论何时刷新页面,该页面消耗的所有内存都将被删除,因此上下文将丢失,所有对象实例也将丢失 这就是为什么在刷新时无法持久保存套接字客户端实例的原因。 如果您想在浏览器会话中以某种方式跟踪同一用户帐户,您可以在第一次生成某个唯一Id并将其持久化
然后将其传递给on套接字初始化。通过该id,您可以在浏览器会话中识别该用户

简短的回答是“否”。每次刷新页面时,它都会创建一个新实例。如果您使用的是身份验证系统,您可以保存用户对象上的数据吗?您考虑过IndexedDB吗?简短的回答是否。每次刷新页面时,它都会创建一个新实例。如果您使用的是身份验证系统,您可以保存用户对象上的数据吗?您考虑过IndexedDB吗?