Socket.io: Namespaces, Kanäle & amp; co

Habe ich eine Node.js web-server, läuft ein socket-server auf der Oberseite, die erstellt wurde, mithilfe Socket.io. Im Grunde funktioniert dies.

Was ich jetzt erreichen möchte ist, dass die clients, die eine Verbindung Gliedern sich in Gruppen. So könnte es einige clients, die der Gruppe A und einigen anderen clients, die der Gruppe B. wählen Sie, zu welcher Gruppe Sie gehören, indem Sie auf eine bestimmte URL, entweder localhost:3000/A oder localhost:3000/B.

In-Buchse.io will ich jetzt zum senden von Nachrichten an alle clients in der Gruppe A oder für alle clients in der Gruppe B oder für alle Kunden, ohne einen Blick auf Ihre Gruppe.

Es ist im Grunde wie mit einem chat mit Zimmer, und Sie haben entweder Nachrichten für alle Kunden in einem bestimmten Raum, oder für jeden Kunden, egal in welchem Raum er sich befindet.

Was ist der beste Weg, um design solch ein system mit Sockel.io?

Ich versuche using namespace so weit, die im Grunde arbeitet für das erstellen von Gruppen A und B, aber dann verliere ich die Fähigkeit zum senden von Nachrichten an alle clients, egal in welchem Raum Sie sich befinden. Zumindest weiß ich nicht wie dies zu tun.

Wie soll ich dieses Modell? Was sind die richtigen Begriffe ich suchen soll?

UPDATE: Nach der Antwort von @sdedelbrockdie ich verwenden könnte namespace oder Zimmer:

  • Wenn namespaces verwenden, ich bin nicht lange in der Lage zu senden, um alle, unabhängig von Ihrer namespace. Dies ist, weil io.sockets ist eine Verknüpfung zu io.of('')die natürlich nicht mit dem namespace nicht mehr.
  • Dies bedeutet, dass ich verwenden soll, die Zimmer, aber ich Frage mich, was der semantische Unterschied zwischen einem Zimmer und einem namespace.

Kurz gesagt: Warum gibt es zwei Begriffe für die gleiche (?) Idee?

InformationsquelleAutor der Frage Golo Roden | 2012-11-22

Schreibe einen Kommentar