如何在应用程序范围内保留Socket.io套接字

亚当·莫尔

我正在尝试向我的应用添加socket.io功能。

我以前从未使用过socket.io,所以我不知道如何从这里开始。

到目前为止,我一直使用MERN堆栈,下一步是实现socket.io的聊天功能。问题是,我不知道何时连接以及如何保存我的套接字。用户可以登录,所以我以为我可以在登录用户后就可以连接,但是随后在组件中创建了套接字,因此无法从其他任何地方访问它。

问题是,我使用JWT令牌进行身份验证,因此我有一个函数,如果令牌尚未过期,则可以在转到新页面时“使用户登录”。

if(localStorage.jwtToken){
    const token = localStorage.jwtToken;
    setAuthToken(token);
    const user = jwt_decode(token);
    store.dispatch(action_setCurrentUser(user));
    store.dispatch(setGroupsOfUser({ id: user.id }));
    const currentTime = Date.now() / 1000;
    if(user.exp < currentTime){
        store.dispatch(logoutUser());
        window.location.href = './login';
    }
}

我以为我可以在这里连接,但是后来我的ChatView组件无法访问它来发送消息和东西。我需要一个套接字来发送通知,即使用户不在聊天室中,并且ChatView组件也需要它来发送消息。

尝试在登录分派后进行连接,并将在线用户及其套接字ID存储在服务器上。

如果我尝试寻找解决方案,则每次遇到的问题都涉及使用socket.io进行身份验证,但是身份验证已经为我完成,因此我不确定如何进行。

亚当·莫尔

按照建议,我决定在App.js中创建套接字,并将其存储在我的状态中。我可以在子组件中使用此存储状态,并在登录后将其在服务器上分配给用户。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iis应用程序范围内部署套接字服务器

来自分类Dev

如何优化套接字io性能?

来自分类Dev

套接字io:如何将参数传递给Disconnet套接字事件?

来自分类Dev

如何在Socket.io处理程序中访问目标套接字

来自分类Dev

如何将 swift 应用程序连接到套接字 io 服务器

来自分类Dev

将套接字作为Socket.io参数传递?

来自分类Dev

Socket.io 1.0 + Express 4.2 =无套接字连接

来自分类Dev

NodeJS&Socket.io:控制器中的套接字

来自分类Dev

Socket.io + Azure Web套接字问题

来自分类Dev

Socket.io错误向套接字发送消息

来自分类Dev

在socket.io中的套接字中添加变量

来自分类Dev

NodeJS&Socket.io:控制器中的套接字

来自分类Dev

Socket.io 1.0 + Express 4.2 =无套接字连接

来自分类Dev

访问在socket.io中发出消息的套接字

来自分类Dev

Socket.io获取套接字所属的名称空间

来自分类Dev

在socket.io中获得套接字的空间

来自分类Dev

什么是socket.io中的套接字变量

来自分类Dev

Socket.io-优化2个套接字之间的通信

来自分类Dev

Socket.io从Node中的多个套接字接收数据

来自分类Dev

试图了解Socket.IO-套接字并发出

来自分类Dev

使用 socket.io 创建多个套接字时的 ENOBUFS

来自分类Dev

Web 套接字、socket.io 或其他替代方案

来自分类Dev

在 socket.io 中收集套接字返回的结果

来自分类Dev

套接字 IO - 如何在安全域上配置和连接到 netty 套接字 io 服务器

来自分类Dev

如何连接到现有的套接字io连接

来自分类Dev

如何修复套接字io设置中的语法错误

来自分类Dev

如何在android中的Socket.IO-client中加入套接字空间或通道

来自分类Dev

如何在android中的Socket.IO-client中加入套接字空间或通道

来自分类Dev

java.io.IOException:无法在指定的端口范围内为Blob服务器分配套接字:0

Related 相关文章

  1. 1

    如何在iis应用程序范围内部署套接字服务器

  2. 2

    如何优化套接字io性能?

  3. 3

    套接字io:如何将参数传递给Disconnet套接字事件?

  4. 4

    如何在Socket.io处理程序中访问目标套接字

  5. 5

    如何将 swift 应用程序连接到套接字 io 服务器

  6. 6

    将套接字作为Socket.io参数传递?

  7. 7

    Socket.io 1.0 + Express 4.2 =无套接字连接

  8. 8

    NodeJS&Socket.io:控制器中的套接字

  9. 9

    Socket.io + Azure Web套接字问题

  10. 10

    Socket.io错误向套接字发送消息

  11. 11

    在socket.io中的套接字中添加变量

  12. 12

    NodeJS&Socket.io:控制器中的套接字

  13. 13

    Socket.io 1.0 + Express 4.2 =无套接字连接

  14. 14

    访问在socket.io中发出消息的套接字

  15. 15

    Socket.io获取套接字所属的名称空间

  16. 16

    在socket.io中获得套接字的空间

  17. 17

    什么是socket.io中的套接字变量

  18. 18

    Socket.io-优化2个套接字之间的通信

  19. 19

    Socket.io从Node中的多个套接字接收数据

  20. 20

    试图了解Socket.IO-套接字并发出

  21. 21

    使用 socket.io 创建多个套接字时的 ENOBUFS

  22. 22

    Web 套接字、socket.io 或其他替代方案

  23. 23

    在 socket.io 中收集套接字返回的结果

  24. 24

    套接字 IO - 如何在安全域上配置和连接到 netty 套接字 io 服务器

  25. 25

    如何连接到现有的套接字io连接

  26. 26

    如何修复套接字io设置中的语法错误

  27. 27

    如何在android中的Socket.IO-client中加入套接字空间或通道

  28. 28

    如何在android中的Socket.IO-client中加入套接字空间或通道

  29. 29

    java.io.IOException:无法在指定的端口范围内为Blob服务器分配套接字:0

热门标签

归档