我可以使用什么来唯一标识使用Socket.IO连接到套接字的设备吗?

jemtan990

我正在开发一个使用socket.io将用户保持在一起的应用程序。使用该应用程序时,我会跟踪用户所采取的操作。如果用户意外断开连接(在我的用例中,他们的电话响了,或者屏幕关闭了),我希望他们能够以同一“用户”的身份重新进入会议室而无需登录,因此他们可以执行操作跟踪与他们在一起。我尝试使用socket.conn.remoteAddress,但这似乎不够一致,无法依靠。

现在,我要求用户手动输入用户名并与服务器上具有该名称的用户匹配,但我希望它是自动的并且对用户不可见,更不用说比每个用户输入的用户名更可靠了。 。

jfriend00

使用Cookie。当他们连接时,检查其唯一cookie是否已存在。如果没有,请在其中创建一个具有唯一ID的文件。如果它已经存在,请使用其中的唯一ID来标识用户。

通过socket.io中的connect事件,您可以在此处获取cookie。

const socketCookieName = "socketUser";
const cookieParser = require('socket.io-cookie-parser');
io.use(cookieParser());

io.on('connection', function(socket) {
    // all parsed cookies in socket.request.cookies
    
    let user = socket.request.cookies[socketCookieName];
    if (!user) {
         // create unique userID and set it in a cookie
         user = /* create some unique userID here */;
         // set this into a cookie
    }
    // now user will be your socket.io userID

});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用标准Web套接字客户端连接到Socket.io服务器

来自分类Dev

使用socket.io通过套接字连接到mysql数据库时出错

来自分类Dev

我可以使用 rails 控制台来识别唯一的种子数据吗

来自分类Dev

相同的socket.io接口可以支持传统的套接字连接以及websocket连接吗

来自分类Dev

如何使用 libnl 和 netlink 套接字以编程方式将设备连接到 AP?

来自分类Dev

我可以使用MD5(String)+ SHA1(String)作为唯一标识吗?(仅ASCII)

来自分类Dev

使用asynctask android连接到套接字

来自分类Dev

套接字IO无法使用Swift连接到服务器

来自分类Dev

如何将所有套接字连接到Socket.io

来自分类Dev

Boost.Asio:对每个连接/套接字使用io_service是一件好事吗?

来自分类Dev

使用node.js连接到已经建立的UNIX套接字吗?

来自分类Dev

Node.js将mysql套接字连接到另一台主机吗?

来自分类Dev

适用于Android的Firebase SDK正在使用套接字连接到Realtime Firebase,我可以使用自己的套接字在自己的Java应用中执行相同操作吗

来自分类Dev

java - 我可以使用Java中的套接字连接2台计算机吗?

来自分类Dev

我可以使用LINQ来检查列表中的对象是否具有唯一ID吗?

来自分类Dev

可以使用Ticks of DateTime.Now生成重复的唯一标识符吗?

来自分类Dev

如何使用套接字IO检查有多少参与者连接到我的聊天室

来自分类Dev

socket.io - 客户端通过同一服务器连接到两个套接字

来自分类Dev

我可以使用MediaDevices.getUserMedia()连接到多个Webrtc流的音频输入设备吗?

来自分类Dev

是否可以使用Poco :: Net :: Sockets连接到域套接字?

来自分类Dev

我可以使用命令提示符来控制连接的设备吗?

来自分类Dev

如何使用akka连接到Unix套接字?

来自分类Dev

Laravel中拒绝使用套接字连接到DB

来自分类Dev

Django通道套接字未连接到使用者

来自分类Dev

如何使用大猩猩连接到网络套接字?

来自分类Dev

如何使用套接字或curl连接到mysql

来自分类Dev

使用python在无限循环中连接到套接字

来自分类Dev

我可以使用变量作为标识符来设置私有类字段吗?怎么样?

来自分类Dev

设备可以使用以前使用的SSID和密码连接到新网络吗?

Related 相关文章

  1. 1

    使用标准Web套接字客户端连接到Socket.io服务器

  2. 2

    使用socket.io通过套接字连接到mysql数据库时出错

  3. 3

    我可以使用 rails 控制台来识别唯一的种子数据吗

  4. 4

    相同的socket.io接口可以支持传统的套接字连接以及websocket连接吗

  5. 5

    如何使用 libnl 和 netlink 套接字以编程方式将设备连接到 AP?

  6. 6

    我可以使用MD5(String)+ SHA1(String)作为唯一标识吗?(仅ASCII)

  7. 7

    使用asynctask android连接到套接字

  8. 8

    套接字IO无法使用Swift连接到服务器

  9. 9

    如何将所有套接字连接到Socket.io

  10. 10

    Boost.Asio:对每个连接/套接字使用io_service是一件好事吗?

  11. 11

    使用node.js连接到已经建立的UNIX套接字吗?

  12. 12

    Node.js将mysql套接字连接到另一台主机吗?

  13. 13

    适用于Android的Firebase SDK正在使用套接字连接到Realtime Firebase,我可以使用自己的套接字在自己的Java应用中执行相同操作吗

  14. 14

    java - 我可以使用Java中的套接字连接2台计算机吗?

  15. 15

    我可以使用LINQ来检查列表中的对象是否具有唯一ID吗?

  16. 16

    可以使用Ticks of DateTime.Now生成重复的唯一标识符吗?

  17. 17

    如何使用套接字IO检查有多少参与者连接到我的聊天室

  18. 18

    socket.io - 客户端通过同一服务器连接到两个套接字

  19. 19

    我可以使用MediaDevices.getUserMedia()连接到多个Webrtc流的音频输入设备吗?

  20. 20

    是否可以使用Poco :: Net :: Sockets连接到域套接字?

  21. 21

    我可以使用命令提示符来控制连接的设备吗?

  22. 22

    如何使用akka连接到Unix套接字?

  23. 23

    Laravel中拒绝使用套接字连接到DB

  24. 24

    Django通道套接字未连接到使用者

  25. 25

    如何使用大猩猩连接到网络套接字?

  26. 26

    如何使用套接字或curl连接到mysql

  27. 27

    使用python在无限循环中连接到套接字

  28. 28

    我可以使用变量作为标识符来设置私有类字段吗?怎么样?

  29. 29

    设备可以使用以前使用的SSID和密码连接到新网络吗?

热门标签

归档