Ich habe gerade angefangen, über Websockets zu lernen, wenn etwas, was ich sage, keinen Sinn macht, ist wahrscheinlich, warum. Ich verstehe die Grundlagen ihrer Arbeitsweise. Ein Client kann eine Nachricht an den Server senden und umgekehrt. Meine Frage ist, was passiert, wenn der Client die gleiche Verbindung für verschiedene Zwecke verwenden soll. Zum Beispiel, wenn der Client eine Nachricht senden oder seinen Charakter in einem Spiel bewegen kann. Würden Sie für diese Fälle separate Sockets benötigen? Ich stelle mir vor, dass Sie einfach einen Standard für Ihre Nachrichten erstellen können und dann eine switch-Anweisung auf dem Server haben, aber das scheint unelegant. Wenn es darauf ankommt, verwende ich das "express-ws" -Paket von Node für den Server. Danke für die Hilfe!Websocket Verbindung für mehrere Zwecke
Antwort
Ihre Intuition ist korrekt. Sie würden normalerweise ein Standardnachrichtenformat erstellen, das über eine Eigenschaft verfügt, die den Nachrichtentyp angibt.
Sie müssen keine switch-Anweisung auf dem Server verwenden. Wenn Sie möchten, können Sie einen eventEmitter und nur .emit()
jede eingehende Nachricht zu einem eventName die gleiche wie der Nachrichtentyp erstellen. Dann würde Ihr Servercode Listener nur für die Nachrichten registrieren, auf die er achten möchte, und Sie würden die switch-Anweisung vermeiden. Dies würde auch ermöglichen, dass Ihr Server-Code mehr in Module aufgeteilt wird. Sie müssen nur den eventEmitter freigeben, mit dem jedes Modul eine eingehende Nachricht abhören oder eine ausgehende Nachricht senden möchte.
FYI, socket.io ist ein Client- und Server-Layer, der auf webSocket sitzt und all dies für Sie erledigt (zusammen mit einer Reihe anderer Funktionen). Es gibt eine unvollständige Liste von Funktionen, die socket.io hier hat: Moving from socket.io to raw websockets?
- 1. Android Websocket Verbindung Fehler
- 2. Kurento - WebSocket Verbindung fehlgeschlagen
- 3. Websocket Verbindung Handshake Zeitüberschreitung
- 4. TimeOut für Websocket-Verbindung in Scala
- 5. Versucht, Websocket-Verbindung wiederherzustellen
- 6. WebSocket DeploymentException Verbindung fehlgeschlagen
- 7. Twilio Programmable Chat WebSocket-Verbindung
- 8. Telnet-Verbindung Stände Websocket-Server
- 9. WebSocket-Verbindung mit Java schließen
- 10. WebSocket-Verbindung zu fehlgeschlagen ERR_SSL_PROTOCOL_ERROR
- 11. Python Tornado SSL Websocket-Verbindung
- 12. WebSocket-Verbindung auf wss fehlgeschlagen
- 13. React-native websocket TLS-Verbindung
- 14. WebSocket-Verbindung fehlgeschlagen, Fehler bei der WebSocket-Handshake
- 15. Datenbankmodellierung für internationale und mehrsprachige Zwecke
- 16. Websocket Verbindung Fehler in https Website
- 17. kann WebSocket Auspuff Webserver Verbindung Pool
- 18. Verbindung mit Websocket kann nicht hergestellt werden
- 19. Abbrechen der WebSocket-Verbindung beim Verbindungsaufbau (JavaScript)
- 20. vuejs - websocket-Verbindung zwischen Komponenten teilen
- 21. Ignore WebSocket-Verbindung im Frühjahr Security SavedRequest
- 22. Android WebSocket-Dienste, die mehrere Verbindungen herstellen
- 23. Ausführung anhalten, bis Websocket eine Verbindung herstellt
- 24. Schließen akka-http websocket Verbindung vom Server
- 25. WSS/TLS websocket Verbindung mit Swift iOS
- 26. verwendet Java, um eine Websocket-Verbindung fehlgeschlagen
- 27. MQTT WebSocket Verbindung fehlgeschlagen in CloudMQTT
- 28. Websocket friert bei abnormaler Verbindung ein
- 29. Websocket-Verbindung wird auf node.js abgelehnt
- 30. iOS Webbrowser schließt die Websocket-Verbindung automatisch?