WebSocket: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) |
Codica (Diskussion | Beiträge) |
||
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
https://github.com/vi/websocat | https://github.com/vi/websocat | ||
− | + | Zum Installieren unter [[Debian]]: | |
<code>sudo aptitude install websocat</code> | <code>sudo aptitude install websocat</code> | ||
Zeile 14: | Zeile 14: | ||
Starten eines Rundruf-Servers: | Starten eines Rundruf-Servers: | ||
websocat -E -t ws-l:127.0.0.1:9001 broadcast:mirror: | websocat -E -t ws-l:127.0.0.1:9001 broadcast:mirror: | ||
+ | |||
+ | Siehe | ||
+ | * [https://github.com/vi/websocat/blob/master/doc.md Offizielle Dokumentation] | ||
+ | * [https://lindevs.com/install-websocat-on-raspberry-pi/ Installationsanleitung für Raspbian] | ||
+ | |||
+ | ==== websocat mit SSL ==== | ||
+ | |||
+ | websocat hat selbst Optionen, um es mit Zertifikaten für wss:// -Verbindungen zu versehen. | ||
+ | * https://github.com/vi/websocat/blob/master/moreexamples.md | ||
+ | |||
+ | Außerdem kann es mit Hilfe von [https://www.stunnel.org/ stunnel] mit Zertifikaten für sichere Verbindungen aufgerüstet werden: | ||
+ | * https://medium.com/geekculture/creating-a-local-websocket-server-with-tls-ssl-is-easy-as-pie-de1a2ef058e0 | ||
+ | |||
+ | ==== websocat autoreconnect ==== | ||
+ | |||
+ | Als Client muss man zur Nutzung des "Overlays" "autoreconnect:" die Langform des Aufrufs starten:<ref>Siehe https://github.com/vi/websocat/issues/66#issuecomment-572226566 </ref> | ||
+ | |||
+ | websocat --autoreconnect-delay-millis 200 --text - autoreconnect:ws://echo.websocket.org | ||
+ | |||
+ | Beachte bitte das '-' im obigen Aufruf! | ||
=== Wscat === | === Wscat === | ||
* https://www.npmjs.com/package/wscat | * https://www.npmjs.com/package/wscat | ||
+ | |||
+ | === Websocketd === | ||
+ | |||
+ | * https://github.com/joewalnes/websocketd | ||
+ | * http://websocketd.com/ | ||
== Java == | == Java == | ||
+ | |||
+ | === Jakarta EE und websocket === | ||
+ | |||
+ | Nachfolger von Java Enterprise Edition(Java EE) ist Jakarta EE. Die Pakete für Websockets heißen ab Jakarta EE 9 bzw Glassfish 6 jakarta.websocket anstatt javax.websocket. | ||
+ | === Nachweise zu Java websocket === | ||
* https://www.baeldung.com/java-websockets | * https://www.baeldung.com/java-websockets | ||
Zeile 24: | Zeile 54: | ||
* [https://docs.oracle.com/en/java/javase/17/docs/api/java.net.http/java/net/http/package-summary.html java.net.http] bietet Unterstützung für WebSockets. | * [https://docs.oracle.com/en/java/javase/17/docs/api/java.net.http/java/net/http/package-summary.html java.net.http] bietet Unterstützung für WebSockets. | ||
** [https://github.com/afinlay5/Java11HttpWs/blob/master/src/main/java/com/adriandavid/ws/java11/WebSocketServer.java Beispiel für WebSocket-Server] | ** [https://github.com/afinlay5/Java11HttpWs/blob/master/src/main/java/com/adriandavid/ws/java11/WebSocketServer.java Beispiel für WebSocket-Server] | ||
+ | ** [https://github.com/afinlay5/Java11HttpWs/blob/master/src/test/java/com/adriandavid/ws/java11/WebSocketServer.java weiteres Beispiel] | ||
+ | * Ein älteres Projekt ist jwebsocket.org: | ||
+ | ** https://jwebsocket.wordpress.com/ | ||
+ | |||
+ | |||
+ | === Android Java Websocket Client === | ||
+ | |||
+ | * https://www.pubnub.com/blog/java-websocket-programming-with-android-and-spring-boot/ | ||
+ | |||
+ | == Rust == | ||
+ | |||
+ | === Websocket-Server in Rust === | ||
+ | * https://blog.logrocket.com/how-to-build-a-websocket-server-with-rust/ | ||
+ | |||
+ | == Nodejs == | ||
+ | |||
+ | === Websocket-Server mit express-ws === | ||
+ | |||
+ | Siehe | ||
+ | * https://www.npmjs.com/package/express-ws | ||
+ | * https://fjolt.com/article/javascript-websockets | ||
+ | |||
+ | === Websocket-Server mit hapi === | ||
+ | Siehe | ||
+ | * https://github.com/hapijs/nes | ||
+ | ** https://github.com/hapijs/nes/blob/master/PROTOCOL.md | ||
+ | * https://www.npmjs.com/package/hapi-plugin-websocket | ||
+ | |||
+ | === Soketi === | ||
+ | https://github.com/soketi/soketi | ||
+ | |||
+ | Open Source-Alternative zu Pusher.com | ||
+ | |||
+ | Es versteht das [https://pusher.com/docs/channels/library_auth_reference/pusher-websockets-protocol/ Pusher-Protokoll], jedenfalls in Version 7. | ||
== Test == | == Test == | ||
Zeile 30: | Zeile 94: | ||
* https://www.npmjs.com/package/jest-websocket-mock | * https://www.npmjs.com/package/jest-websocket-mock | ||
kann ein Websocket-Mock-Server für Jest erstellt werden. | kann ein Websocket-Mock-Server für Jest erstellt werden. | ||
+ | |||
+ | Siehe auch | ||
+ | * https://thomason-isaiah.medium.com/writing-integration-tests-for-websocket-servers-using-jest-and-ws-8e5c61726b2a | ||
------ | ------ | ||
[[Category:Internet]] | [[Category:Internet]] | ||
[[Category:Netzwerk]] | [[Category:Netzwerk]] |
Aktuelle Version vom 20. Juni 2023, 22:03 Uhr
WebSockets ist ein Standard, mit dem nicht nur Pull-, sondern auch Push-Nachrichten vom Server zum WebClient kommen.
Shell
Als Kommandozeilen-Tool zur Verwendung von WebSockets gibt es
Websocat
https://github.com/vi/websocat
Zum Installieren unter Debian:
sudo aptitude install websocat
Starten eines Rundruf-Servers:
websocat -E -t ws-l:127.0.0.1:9001 broadcast:mirror:
Siehe
websocat mit SSL
websocat hat selbst Optionen, um es mit Zertifikaten für wss:// -Verbindungen zu versehen.
Außerdem kann es mit Hilfe von stunnel mit Zertifikaten für sichere Verbindungen aufgerüstet werden:
websocat autoreconnect
Als Client muss man zur Nutzung des "Overlays" "autoreconnect:" die Langform des Aufrufs starten:[1]
websocat --autoreconnect-delay-millis 200 --text - autoreconnect:ws://echo.websocket.org
Beachte bitte das '-' im obigen Aufruf!
Wscat
Websocketd
Java
Jakarta EE und websocket
Nachfolger von Java Enterprise Edition(Java EE) ist Jakarta EE. Die Pakete für Websockets heißen ab Jakarta EE 9 bzw Glassfish 6 jakarta.websocket anstatt javax.websocket.
Nachweise zu Java websocket
- https://www.baeldung.com/java-websockets
- https://github.com/TooTallNate/Java-WebSocket
- java.net.http bietet Unterstützung für WebSockets.
- Ein älteres Projekt ist jwebsocket.org:
Android Java Websocket Client
Rust
Websocket-Server in Rust
Nodejs
Websocket-Server mit express-ws
Siehe
Websocket-Server mit hapi
Siehe
Soketi
https://github.com/soketi/soketi
Open Source-Alternative zu Pusher.com
Es versteht das Pusher-Protokoll, jedenfalls in Version 7.
Test
Mit
kann ein Websocket-Mock-Server für Jest erstellt werden.
Siehe auch