Ich möchte einen WebSocket-Endpunkt Client in Java (so rein wie möglich, keine Frameworks), aber praktisch alle Beispiele, die ich gefunden habe, haben nur Server-Endpunkte in Java, während der Client in Javascript ist. Kann mir jemand auf ein gutes Kundenbeispiel hinweisen oder eines anbieten?Erstellen Sie einen eigenständigen Java-Websocket-Client-Endpunkt?
9
A
Antwort
4
Nicht sicher, ob dies Ihre Kriterien paßt, aber Jetty hat ein ziemlich sauberes Client Beispiel hier:
http://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.html
Hoffnung, das hilft :)
8
@ClientEndpoint
annottation Teil der Spezifikation ist, so dass ich Ich schlage vor, das zu verwenden, hier ist ein good tutoria l, siehe Schritt 4 und 6.
Schritt 6 von Openshift Tutorial
@ClientEndpoint
public class WordgameClientEndpoint {
private static CountDownLatch latch;
private Logger logger = Logger.getLogger(this.getClass().getName());
@OnOpen
public void onOpen(Session session) {
// same as above
}
@OnMessage
public String onMessage(String message, Session session) {
// same as above
}
@OnClose
public void onClose(Session session, CloseReason closeReason) {
logger.info(String.format("Session %s close because of %s", session.getId(), closeReason));
latch.countDown();
}
public static void main(String[] args) {
latch = new CountDownLatch(1);
ClientManager client = ClientManager.createClient();
try {
client.connectToServer(WordgameClientEndpoint.class, new URI("ws://localhost:8025/websockets/game"));
latch.await();
} catch (DeploymentException | URISyntaxException | InterruptedException e) {
throw new RuntimeException(e);
}
}
}
in diesem Beispiel sie tyrus verwenden, die für WebSockets in Java die Referenzimplementierung ist, also denke ich, dass Ihre Anforderung an ein erfüllt gut unterstützte Websocket-Implementierung.
Verwandte Themen
- 1. Erstellen einer eigenständigen Node.js WEBAPP
- 2. Erstellen von eigenständigen Python-Anwendungen
- 3. Erstellen einer eigenständigen Quellversion mit Maven
- 4. erstellen EIGENSTÄNDIGEN Android Studio (1.5) Bibliothek Projekt
- 5. Wie verbinde ich einen anderen Rechner mit einer eigenständigen h2o-Installation, um einen Cluster zu erstellen?
- 6. Erstellen einer eigenständigen Konsole (Shell) für domänenspezifische Vorgänge
- 7. Erstellen einer eigenständigen ausführbaren Datei aus VS2008-Testprojekt
- 8. Erstellen Sie einen Schauspieler
- 9. Gibt es einen eigenständigen visuellen Editor für WPF XAML-Dateien?
- 10. Wie erstellt man einen eigenständigen Systemdienst in Xcode?
- 11. Wann sollte ich Express.js über einen eigenständigen node.js
- 12. Verwenden Sie das Django ORM in einem eigenständigen Skript (wieder)
- 13. Systemkonfiguration eines eigenständigen Hadoop-Clusters
- 14. Erstellen Sie einen generischen Basisadapter?
- 15. Erstellen Sie einen Daemon-Hintergrunddienst?
- 16. Erstellen Sie einen PDF-Umschlag
- 17. Erstellen Sie einen Vollbildmodus alertDialog
- 18. So erstellen Sie einen Binärbaum
- 19. R Erstellen Sie einen Schließzähler
- 20. So erstellen Sie einen scala.concurrent.ExecutionContext
- 21. führen Sie die Ausgabe eines Skripts als eigenständigen bash Befehl
- 22. Verwenden Sie Node.js als eigenständigen LESS-Compiler im Projekt?
- 23. JVM Clustering in eigenständigen Java-Anwendungen
- 24. Deaktivieren Sie das Zwischenspeichern von Ruhezustand in eigenständigen GORM
- 25. Initialkontext in einem eigenständigen Java-Programm
- 26. Ist es möglich, einen eigenständigen C# -Webdienst zu erstellen, der als EXE- oder Windows-Dienst bereitgestellt wird?
- 27. Kompilieren einer eigenständigen statischen ausführbaren Datei
- 28. Wie kann ich einen eigenständigen Server in Echtzeit auf einen anderen Server sichern?
- 29. Erstellen eines eigenständigen Python-Skripts, das von einer anderen Software ausgeführt werden kann
- 30. Bereitstellen von eigenständigen PHP/MySQL-Anwendungen
Warum interessieren Sie sich für Websockets, wenn Ihr Client Java ist? Schnittstellen zu einem vorhandenen Server, der nur eine Websocket-API bereitstellt? Und warum keine Bibliotheken? –
Das ist richtig, ich möchte eine Verbindung zu einem Websocket-Server herstellen. Bibliotheken sind in Ordnung, ich bevorzuge es, mich auf Kernbibliotheken zu konzentrieren, vorzugsweise nur auf Oracle, und nicht einen Haufen von Gläsern von einigen fly-by-night-Drittanbietern oder zufälligen github-Entwicklern hinzuzufügen, die von einem großen Unternehmen nicht unterstützt werden. –
Benutzer Tyrus ein Java-Web-Socket-Standalone-Client. - https://tyrus.java.net/ –