Ich habe 2 Komponenten, die bidirektional miteinander kommunizieren müssen. Für jetzt habe ich 2 Ansätze, man richtet RPC-Server auf beiden Seiten ein, um die 2-Wege-Kommunikation herzustellen. Ein anderer benutzt Websocket. Könnte mir jemand helfen, die Vor- und Nachteile von RPC und WebSocket zu vergleichen? DankeWann sollte RPC über WebSocket verwendet werden?
-1
A
Antwort
-1
WebSocket ist ein Nachrichten-basierter Transport, während RPC ein Kommunikationsmuster ist. Wenn Sie RPCs über WebSocket routen möchten, werfen Sie einen Blick auf das WAMP-Protokoll (http://wamp-proto.org). Dadurch wird vermieden, dass ein Server eingerichtet oder ein Port für jede Komponente geöffnet werden muss und dass sie von hinter NATs kommunizieren können.
Volle Offenlegung: Ich bin tief in das WAMP-Ökosystem involviert, aber das Protokoll ist offen, wie die meisten Implementierungen.
Verwandte Themen
- 1. Wann sollte StringProperty über String verwendet werden?
- 2. Wann sollte Flask.g verwendet werden?
- 3. Wann sollte WS_EX_NOREDIRECTIONBITMAP verwendet werden?
- 4. Wann sollte wkWebView verwendet werden?
- 5. Wann sollte plist verwendet werden?
- 6. Wann sollte curl_close() verwendet werden?
- 7. Wann sollte StringBuilder verwendet werden?
- 8. Wann sollte FOUNDATION_EXPORT verwendet werden?
- 9. Wann sollte $ .extend ({...}) verwendet werden?
- 10. Wann sollte range.value verwendet werden?
- 11. Wann sollte assert() in Matlab verwendet werden?
- 12. Wann sollte 'Array.prototype' verwendet werden und wann sollte 'this' in JavaScript verwendet werden?
- 13. Wann sollte dies-> verwendet werden?
- 14. Wann sollte ein neuer Ausnahmetyp verwendet werden?
- 15. Wann sollte ein IOC-Container verwendet werden?
- 16. Wann sollte in Rust inline verwendet werden?
- 17. Wann sollte dynamic_cast der Referenz verwendet werden?
- 18. Wann sollte ein Singleton verwendet werden?
- 19. Wann sollte ein Event Bus verwendet werden?
- 20. Wann sollte std :: atomic_compare_exchange_strong verwendet werden?
- 21. Wann sollte doOnTerminate vs doOnUnsubscribe verwendet werden?
- 22. Wann sollte target = "_ self" verwendet werden?
- 23. Wann sollte die didMoveToWindow-Methode verwendet werden?
- 24. Wann sollte der Cloud-Server verwendet werden?
- 25. Wann sollte self für Klasseneigenschaften verwendet werden?
- 26. Wann sollte Theme.AppCompat vs ThemeOverlay.AppCompat verwendet werden?
- 27. Wann sollte 'raise NotImplementedError' verwendet werden?
- 28. Wann sollte das Schlüsselwort "as" und wann() Casting verwendet werden?
- 29. Wann sollte die Spark DataFrame/Dataset API verwendet werden und wann sollte man RDD verwenden?
- 30. Wann sollte `require`,` load` oder `autoload` in Ruby verwendet werden?
WebSocket kann RPC ausführen. Das ist wie die Frage "Ist Erdbeere besser als Schokolade?" – tadman