Saya telah menemukan contoh yang bagus menggunakan di javax.websocket
sini:
http://www.programmingforliving.com/2013/08/jsr-356-java-api-for-websocket-client-api.html
Berikut kode berdasarkan contoh yang ditautkan di atas:
TestApp.java
:
package testapp;
import java.net.URI;
import java.net.URISyntaxException;
public class TestApp {
public static void main(String[] args) {
try {
// open websocket
final WebsocketClientEndpoint clientEndPoint = new WebsocketClientEndpoint(new URI("wss://real.okcoin.cn:10440/websocket/okcoinapi"));
// add listener
clientEndPoint.addMessageHandler(new WebsocketClientEndpoint.MessageHandler() {
public void handleMessage(String message) {
System.out.println(message);
}
});
// send message to websocket
clientEndPoint.sendMessage("{'event':'addChannel','channel':'ok_btccny_ticker'}");
// wait 5 seconds for messages from websocket
Thread.sleep(5000);
} catch (InterruptedException ex) {
System.err.println("InterruptedException exception: " + ex.getMessage());
} catch (URISyntaxException ex) {
System.err.println("URISyntaxException exception: " + ex.getMessage());
}
}
}
WebsocketClientEndpoint.java
:
package testapp;
import java.net.URI;
import javax.websocket.ClientEndpoint;
import javax.websocket.CloseReason;
import javax.websocket.ContainerProvider;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
/**
* ChatServer Client
*
* @author Jiji_Sasidharan
*/
@ClientEndpoint
public class WebsocketClientEndpoint {
Session userSession = null;
private MessageHandler messageHandler;
public WebsocketClientEndpoint(URI endpointURI) {
try {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
container.connectToServer(this, endpointURI);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* Callback hook for Connection open events.
*
* @param userSession the userSession which is opened.
*/
@OnOpen
public void onOpen(Session userSession) {
System.out.println("opening websocket");
this.userSession = userSession;
}
/**
* Callback hook for Connection close events.
*
* @param userSession the userSession which is getting closed.
* @param reason the reason for connection close
*/
@OnClose
public void onClose(Session userSession, CloseReason reason) {
System.out.println("closing websocket");
this.userSession = null;
}
/**
* Callback hook for Message Events. This method will be invoked when a client send a message.
*
* @param message The text message
*/
@OnMessage
public void onMessage(String message) {
if (this.messageHandler != null) {
this.messageHandler.handleMessage(message);
}
}
/**
* register message handler
*
* @param msgHandler
*/
public void addMessageHandler(MessageHandler msgHandler) {
this.messageHandler = msgHandler;
}
/**
* Send a message.
*
* @param message
*/
public void sendMessage(String message) {
this.userSession.getAsyncRemote().sendText(message);
}
/**
* Message handler.
*
* @author Jiji_Sasidharan
*/
public static interface MessageHandler {
public void handleMessage(String message);
}
}
TooTallNate memiliki sisi klien sederhana https://github.com/TooTallNate/Java-WebSocket
Cukup tambahkan java_websocket.jar di folder dist ke dalam proyek Anda.
// dan untuk menutup websocket
sumber
Lihat contoh Java EE 7 dari Arun Gupta ini.
Saya mem- forknya di github .
Utama
ClientEndpoint
sumber
Ini adalah satu contoh sederhana .. Anda dapat mengunduh dan mengujinya http://www.pretechsol.com/2014/12/java-ee-websocket-simple-example.html
sumber
Gunakan pustaka ini org.java_websocket
Hal pertama yang harus Anda impor pustaka itu dalam build.gradle
lalu tambahkan implementasi dalam dependensi {}
Kemudian Anda dapat menggunakan kode ini
Dalam aktivitas Anda, deklarasikan objek untuk Websocketclient seperti
lalu tambahkan metode ini untuk callback
}
sumber
Saya memiliki Spring 4.2 dalam proyek saya dan banyak implementasi SockJS Stomp biasanya bekerja dengan baik dengan implementasi Spring Boot. Implementasi dari Baeldung ini berhasil (bagi saya tanpa mengubah dari Spring 4.2 ke 5). Setelah Menggunakan dependensi yang disebutkan di blognya, saya masih diberi ClassNotFoundError. Saya menambahkan ketergantungan di bawah ini untuk memperbaikinya.
sumber