Suchen Sie nach allgemeinen Anleitungen zum Implementieren eines WebSocket-Clients auf eine Weise, die sowohl auf nativen Go-Ausführungsplattformen als auch über GopherJS funktioniert.WebSocket-Kompatibilität mit GopherJS
Es scheint, dass GopherJS zwei WebSocket-Bibliotheken hat, eine unter gopherjs/websocket
und eine unter goxjs/websocket
. Es scheint, dass goxjs/websocket
"isomorph" ist, was bedeutet, dass es in GopherJS funktionieren sollte, während es mit golang.org/x/net/websocket
API-kompatibel bleibt. Das würde Kompatibilität in beiden Ausführungsumgebungen bereitstellen, was in Ordnung ist, aber ich bin mir nicht sicher, ob es die beste Lösung ist. gopherjs/websocket
scheint nicht außerhalb der Browser-Ausführungsumgebung zu funktionieren, also ist es ein Nicht-Starter.
Die am häufigsten empfohlene WebSocket-Implementierung für native Go-Anwendungen scheint im Moment gorilla/websocket
zu sein. Ich möchte das verwenden, da es scheint, eine gute API zu haben, und es scheint ziemlich voll ausgestattet zu sein. I kann erfolgreich gopherjs build
ausführen, wenn ich gorilla/websocket
importieren, aber ich bin besorgt, dass es in der JavaScript-Umgebung fehlschlagen wird, oder dass es in JavaScript kompiliert wird, die die Browser-Implementierung der WebSocket-API nicht verwendet.
Ich sehe nicht viel Anleitung, welche Bibliothek für welches Szenario geeignet ist, also hoffe, dass dies helfen kann, zu vergleichen und zu kontrastieren und die Richtung bereitzustellen, die notwendig ist, um eine gute Wahl zu treffen.