minimal java8 nio sichere websocket-client (wss)
Habe ich verbrachte einige Zeit, um einfache java-websocket-client, die Arbeit mit den wss und nicht ein Durcheinander...
Habe ich versucht, https://github.com/TooTallNate/Java-WebSocket
Hinzugefügt Abhängigkeit als er descirbes, kopiert die SSLClientExample.java um es zu testen mit websocket.org echo-server, bekam aber Kompilierungsfehler bei Zeile 84 keine solche Methode setSocket()... (hier hängengeblieben)
Habe ich versucht zu tyrus (scheint) dies ist eine große Bibliothek entwickelt, die direkt von oracle), aber es scheint, dass ich brauchen, um einige Anwendungsserver ausgeführt (websocket-container) in der Lage sein, es zu benutzen...
Frage ich mich, was ist so schwer daran websockets, die man braucht, um netty oder glassfish oder grizly für, die?
Ich denke, es ist möglich, zu implementieren, der eine mit SSLEngine (wss) und Reine java-sdk... gibt es etwas, ich weiß nicht, über websockets? ( Stelle ich es mir sehr ähnlich wie gewöhnliche sockets)
Du musst angemeldet sein, um einen Kommentar abzugeben.
nv-websocket-client ist eine neue WebSocket-client-Bibliothek in Java geschrieben. Es unterstützt wss und benötigt nur Java SE 1.5, so kann es laufen, auch auf Android.
Die Größe der
nv-websocket-client-1.3.jar
(veröffentlicht am 2015-05-06) ist 62,854 bytes und erfordert keine externen Abhängigkeiten.Unten ist ein "wss" - Beispiel.
Blog
WebSocket-client-Bibliothek (Java SE 1.5+, Android)
http://darutk-oboegaki.blogspot.jp/2015/05/websocket-client-library-java-se-15.html
GitHub
https://github.com/TakahikoKawasaki/nv-websocket-client
JavaDoc
http://takahikokawasaki.github.io/nv-websocket-client/
Maven
Tyrus client nicht brauchen, um einen Anwendungsserver! 🙂
Finden Sie Tyrus Dokumentation und Beitrag Verringerung der WebSocket-client-jar-size mit ProGuard (kann man runter auf 500 kB mit JDK 7+).
Über die Größe - es kann minimiert werden, sogar mehr, aber mit etwas refactoring in Tyrus code. Der Vergleich des WebSocket-und plain-Buchse ist nicht sehr genau - plain socket nicht implementieren müssen, um HTTP-und (traditionell) nicht NIO-Unterstützung (das kam mit Java 7). Ein weiterer Bestandteil ist das WebSocket-Protokoll-Implementierung, die ist nicht so schwierig, aber auch seine nicht gerade sendende byte [], um den Draht - es liegt eine öffnungs-handshake, Signal-frames und den obligatorischen strengen UTF-8-Codierung/- Decodierung.
Also ich denke, man könnte mehr einfache API-Implementierung, aber festhalten an etwas, das gepflegt und ist Teil von Java EE-scheint nicht schlecht zu mir - Sie haben die Möglichkeit zu wählen, die Umsetzung (Tyrus ist nur einer von Ihnen, es gibt auch andere) und Ihr Kunde bereit sein, für die Aufnahme in die Java-EE-Anwendung, wenn das passieren würde. (Anmerkung der Redaktion: ich arbeite auf Tyrus, also meine Antwort ist wahrscheinlich voreingenommen).
Versuchen Matthias ist einfach-websocket-client aus. (Ich bin nur einer seiner follower bei Twitter), Sie können vereinbaren, seine zugrunde liegende Absicht des Projekts.
Vom https://github.com/matzew/simple-websocket-client
BTW, Jede WebSocket-client erfordert keine WebSocket-server und es ist möglich, schreiben Sie Ihre eigenen client auf reinen Java-SE. Da jedoch einfache Integration mit anderen Technologien ist viel wichtiger, als nur Einfachheit, könnte man glauben, es gibt einige zugrunde liegenden Kontext, das sieht Komplex und unnötig.