Es hängt davon ab, was Sie mit "zwei Anwendungen" meinen. Wenn Sie meinen, es handelt sich um zwei Verbindungen zu demselben socket.io-Server, dann ist yes io.emit()
absichtlich so konzipiert, dass es an alle Verbindungen zum aktuellen Server gesendet wird.
Wenn Sie zwei separate socket.io Server auf demselben Host haben, müssen diese socket.io Server auf separaten Ports sein (Sie können nicht zwei tatsächliche Server auf dem gleichen Port haben) und wenn Sie io.emit()
zu einem es wird nichts mit dem anderen zu tun haben, weil die Objekte io
für die beiden Server völlig unterschiedliche Objekte sind, die an völlig unterschiedliche Server angeschlossen sind.
Also, es hängt wirklich davon ab, wie Sie Dinge auf dem Host konfiguriert haben. Wenn Sie Ihren tatsächlichen serverseitigen Code für Ihre zwei Server zeigen, könnten wir viel spezifischer antworten. Wenn Sie nur einen socket.io-Server haben und nach Möglichkeiten suchen, eine Nachricht an eine Gruppe verbundener Sockets zu senden, können Sie entweder namespaces or rooms verwenden. Ein Namespace ist eine Verbindung zu einem Client. Ein Raum ist etwas, in dem ein Server eine Verbindung mit .join()
herstellt. Sie können dann .emit()
entweder zu einem Namespace oder einem Raum und es wird an alle Sockets in dieser Sammlung senden.
Da es scheint, dass Sie hier vielleicht neu sein werden, sollten Fragen zu Code in Zukunft den entsprechenden Code in Ihrer Frage enthalten, damit wir genauer auf Ihre spezifische Situation eingehen können. Aus unbekannten Gründen tendieren Leute, die hier neu sind, zu denken, dass es besser ist, eine "generische" Frage entweder mit keinem Code oder mit erfundenem Pseudocode zu stellen. Das ist so ziemlich nie die beste Option. Sie sollten die relevanten Teile Ihres tatsächlichen Codes einschließen, damit wir Ihre genaue Situation sehen können, und so können wir den genauen zu reparierenden Code empfehlen. – jfriend00