Socket.io: 1.0.0 替换 socket.set() 和 socket.get()

创建于 2014-04-01  ·  4评论  ·  资料来源: socketio/socket.io

过去,您可以使用socket.get(key, callback)socket.set(key, value, callback)将任意数据与套接字一起存储。 我们如何在 1.0.0 中做到这一点?

只是在套接字上设置随机值似乎有效,但听起来并不安全。 例如socket.foo = 'bar'

最有用的评论

替换旧的 .set() 和 .get() 的任何解决方案或最佳实践 -> 我们应该直接在客户端对象上使用 prop 吗? 是否有一个模块(如上所述)可以更优雅地做到这一点?

所有4条评论

在对象上存储属性绝对应该是安全的。 我删除它的原因是我不想在 socket.io 层持久化。 我们可以在其他模块中构建它。

但是,我肯定会在迁移指南中包含一个 polyfill。

@guille是否也在 0.9.x 中准备好了? 为了使代码为 1.0 做好准备并摆脱那些添加不必要的回调嵌套的 get 和 set 调用? 或者作为socket传递的对象可以改变身份,同时保留相同的 id、客户端连接和属性?

我在迁移指南中没有看到任何 polyfill。 这在 1.0 中究竟是如何完成的?

我现在使用它作为中间件:

configurable = require 'configurable'
module.exports = (socket, next) ->
    configurable socket
    next()

替换旧的 .set() 和 .get() 的任何解决方案或最佳实践 -> 我们应该直接在客户端对象上使用 prop 吗? 是否有一个模块(如上所述)可以更优雅地做到这一点?

此页面是否有帮助?
0 / 5 - 0 等级