gpt4 book ai didi

session - 在 nodejs/redis 中保存 tcp session ?

转载 作者:可可西里 更新时间:2023-11-01 11:12:16 25 4
gpt4 key购买 nike

我目前正在通过开发基于 TCP 的小型聊天应用程序(经典案例)来学习 node.js。

我现在想做的是扩展此应用程序以使用静态用户:

  • 有关消息传递的所有逻辑都应基于用户而不是 session 。
  • 因此,每个 session 都需要连同一个对用户的引用(以便应用程序可以发送消息基于用户名的正确 session )。
  • 我研究过 Redis 来存储这些数据,但到目前为止还没有成功。

            tcpServer.on 'connection', (tcpSocket) -> tcpSocket.write "Welcome"
    redis.hmset("sessions", userid, tcpSocket)
    tcpSocket.on "data", (data) ->
    redis.hvals "sessions", (err, repl) ->
    repl.forEach (reply, y) ->
    reply.Write("Data is written to clients!")
    tcpServer.listen 7000

当前错误信息:TypeError: Object [object Object] has no method 'write'

这表明我无法像现在尝试存储的那样存储 tcpSocket。有人可以告诉我是否可以进行细微调整以使其正确,或者我应该重新考虑这个解决方案吗?

最佳答案

Redis 支持的数据类型很少:字符串、列表、集合、排序列表和哈希表。而已。其他一些类型,如 Date,可以很容易地转换为字符串或从字符串转换为字符串,因此也可以使用它。但 socket 是一个复杂的内部对象,因此您很可能无法将其转换为字符串,因此无法存储在 Redis 中。

关于session - 在 nodejs/redis 中保存 tcp session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com