Użyj tej biblioteki org.java_websocket
Najpierw należy zaimportować tę bibliotekę do pliku build.gradle
repositories {
mavenCentral()
}
następnie dodaj implementację w zależności {}
implementation "org.java-websocket:Java-WebSocket:1.3.0"
Następnie możesz użyć tego kodu
W swojej aktywności zadeklaruj obiekt dla Websocketclient jak
private WebSocketClient mWebSocketClient;
następnie dodaj tę metodę do wywołania zwrotnego
private void ConnectToWebSocket() {
URI uri;
try {
uri = new URI("ws://your web socket url");
} catch (URISyntaxException e) {
e.printStackTrace();
return;
}
mWebSocketClient = new WebSocketClient(uri) {
@Override
public void onOpen(ServerHandshake serverHandshake) {
Log.i("Websocket", "Opened");
mWebSocketClient.send("Hello from " + Build.MANUFACTURER + " " + Build.MODEL);
}
@Override
public void onMessage(String s) {
final String message = s;
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView textView = (TextView)findViewById(R.id.edittext_chatbox);
textView.setText(textView.getText() + "\n" + message);
}
});
}
@Override
public void onClose(int i, String s, boolean b) {
Log.i("Websocket", "Closed " + s);
}
@Override
public void onError(Exception e) {
Log.i("Websocket", "Error " + e.getMessage());
}
};
mWebSocketClient.connect();
}