Socket.io: 1.0.0 Substituições para socket.set () e socket.get ()

Criado em 1 abr. 2014  ·  4Comentários  ·  Fonte: socketio/socket.io

Você costumava ser capaz de armazenar dados arbitrários junto com um soquete, usando socket.get(key, callback) e socket.set(key, value, callback) . Como podemos fazer isso em 1.0.0?

Apenas definir valores aleatórios no soquete parece funcionar, mas não parece seguro. por exemplo, socket.foo = 'bar' .

Comentários muito úteis

Qualquer resolução ou prática recomendada para substituir os antigos .set () e .get () -> devemos, em vez disso, usar um prop diretamente no objeto cliente? Existe um módulo (como mencionado acima) que faz isso de forma mais elegante?

Todos 4 comentários

Definitivamente, deve ser seguro armazenar propriedades no objeto. Estou removendo isso porque não quero persistência na camada socket.io. Podemos construir isso em outros módulos.

Definitivamente, estou incluindo um polyfill como parte do guia de migração, no entanto.

@guille Também está pronto no 0.9.x? Para preparar o código para 1.0 e se livrar dessas chamadas get e set adicionando aninhamento de callback desnecessário? Ou o objeto passado como socket pode mudar a identidade enquanto retém o mesmo id, conexão de cliente e atributos?

Não vejo nenhum polyfill no guia de migração. Como isso é feito exatamente no 1.0?

estou usando isso como middleware por enquanto:

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

Qualquer resolução ou prática recomendada para substituir os antigos .set () e .get () -> devemos, em vez disso, usar um prop diretamente no objeto cliente? Existe um módulo (como mencionado acima) que faz isso de forma mais elegante?

Esta página foi útil?
0 / 5 - 0 avaliações