Foros del Web » Programando para Internet » Node.js »

nodejs socket.io rooms

Estas en el tema de nodejs socket.io rooms en el foro de Node.js en Foros del Web. Hola estoy aprendiendo sobre los rooms de socket.io pero me surgio una duda. Para este objeto io.sockets.manager.rooms se explica: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código info: Ver original ...
  #1 (permalink)  
Antiguo 08/09/2013, 03:10
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 7 años, 11 meses
Puntos: 29
nodejs socket.io rooms

Hola estoy aprendiendo sobre los rooms de socket.io pero me surgio una duda.
Para este objeto io.sockets.manager.rooms se explica:

Código info:
Ver original
  1. A list of all rooms can be found by looking in io.sockets.manager.rooms. This is a hash, with the room name as a key to an array of socket IDs. Note that the room names will have a leading / character. This is used internally and does not have to be referenced when joining, leaving or emitting to rooms.
  2.  
  3.  
  4. _

Cuando lo envio a un cliente y lo muestro con console.log() desde chrome me sale esto:

Código Javascript:
Ver original
  1. Object {: Array[1], /1378628043654: Array[1]}
  2. : Array[1]
  3. 0: "urldhUoCP2Zdwd79m1j0"
  4. length: 1
  5. __proto__: Array[0]
  6. /1378628043654: Array[1]
  7. 0: "urldhUoCP2Zdwd79m1j0"
  8. length: 1
  9. __proto__: Array[0]
  10. __proto__: Object

El problema esq pone esto: : Array[1], /1378628043654: Array[1]} como puede ser que un objeto no tenga nombre. Como se hacede al array para ver los rooms y los clientes ???

Osea si quiero hacer que cuando no hay clientes en un room este se elimine.

Info de aqui: https://github.com/LearnBoost/socket.io/wiki/Rooms



Saludos
  #2 (permalink)  
Antiguo 08/09/2013, 20:32
Avatar de utan  
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 7 años, 3 meses
Puntos: 17
Respuesta: nodejs socket.io rooms

El primero parece un objecto con la key vacia y un array como valor, el segundo tiene una key empezando con / como esta explicado en el wiiki de Socket.io y el valor es un array,

lei en el github que todos los usuarios entran a un room llamado solamente / no se si por eso el / esta stripped out.

Por eso no me guio en el io.sockets.manager.rooms mejor creo un objecto en mi clase y mantengo una lista de esta manera.. y uso socket.leave('room') cuando los saco del room y borro al miembro que se va del objeto que cree..

espero te aya servido de algo.
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com
  #3 (permalink)  
Antiguo 09/09/2013, 01:23
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 7 años, 11 meses
Puntos: 29
Respuesta: nodejs socket.io rooms

Cita:
Iniciado por utan Ver Mensaje
El primero parece un objecto con la key vacia y un array como valor, el segundo tiene una key empezando con / como esta explicado en el wiiki de Socket.io y el valor es un array,

lei en el github que todos los usuarios entran a un room llamado solamente / no se si por eso el / esta stripped out.

Por eso no me guio en el io.sockets.manager.rooms mejor creo un objecto en mi clase y mantengo una lista de esta manera.. y uso socket.leave('room') cuando los saco del room y borro al miembro que se va del objeto que cree..

espero te aya servido de algo.
Pero entonces para que han creado io.sockets.manager.rooms si no se puede aceder... ya que no se puede haceder a un objeto con key vacio ni a uno que empieza con / ???

Yo he visto ejemplos que si funciona pero no los encuentro. Aunque creo que es mejor utilizar la forma de crear tu clase propia pero igual quiero saber usar el manager.rooms...

Saludos
  #4 (permalink)  
Antiguo 09/09/2013, 10:52
Avatar de utan  
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 7 años, 3 meses
Puntos: 17
Respuesta: nodejs socket.io rooms

Lo han creado asi, para hacer mejor el multiplexing , así haces emit a determinado escopes de socket.io y no a todos los conectados dándote mejor optimizacion..

Ademas que puedes adquirir cuantos rooms existen en server y poder pasar esta información a los clientes..

Poniéndolo en perspectiva socket.io es un API de bajo nivel el cual tienes que crear metodos que definan lo quieres hacer, osea te ayuda a que te conectes sea que uses un browser que

soporte sockets o no, yo antes usaba el Ape project el cual es un layer mas avanzado y tenia muchas utilidades y esta mas completo pero el projecto esta muerto asi que mejor aprendi algo de node.js y socket.io.. y estoy feliz..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com
  #5 (permalink)  
Antiguo 09/09/2013, 13:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 7 años, 11 meses
Puntos: 29
Respuesta: nodejs socket.io rooms

Cita:
Iniciado por utan Ver Mensaje
Lo han creado asi, para hacer mejor el multiplexing , así haces emit a determinado escopes de socket.io y no a todos los conectados dándote mejor optimizacion..

Ademas que puedes adquirir cuantos rooms existen en server y poder pasar esta información a los clientes..

Poniéndolo en perspectiva socket.io es un API de bajo nivel el cual tienes que crear metodos que definan lo quieres hacer, osea te ayuda a que te conectes sea que uses un browser que

soporte sockets o no, yo antes usaba el Ape project el cual es un layer mas avanzado y tenia muchas utilidades y esta mas completo pero el projecto esta muerto asi que mejor aprendi algo de node.js y socket.io.. y estoy feliz..
Hola, el multiplexing es lo que emite a un determinado room? Si es asi que relacion tiene el caracter / ?? Porque no se puede omitir y el key vacio porque no ponen uno no vacio para aceder mas facil? Esto que relacion tiene con la optimizacion(el caracter y el key) . ??

Como puedes adquirir los rooms?? Me puedes dar un ejemplo ya que me estoy liando con este objeto.

Voy a ver un poco sobre APe project simplemente para saber.

Gracias

Etiquetas: javascript, socket-io
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.