2017-09-27 7 views
1

Je souhaite envoyer un message à partir du client websocket Android okhttp3, en ne faisant pas que répéter les messages provenant du serveur. voici ma classe websocket:Envoi de messages à partir du client Android Websocket

// Websocket 
public final class EchoWebSocketListener extends WebSocketListener { 
    private static final int NORMAL_CLOSURE_STATUS = 1000; 
    @Override 
    public void onOpen(WebSocket webSocket, Response response) { 
     webSocket.send(message); 
    } 
    @Override 
    public void onMessage(WebSocket webSocket, String text) { 
     printer("text); 
    } 
    @Override 
    public void onClosing(WebSocket webSocket, int code, String reason) { 
     webSocket.close(NORMAL_CLOSURE_STATUS, null); 
    } 
    @Override 
    public void onFailure(WebSocket webSocket, Throwable t, Response response) { 

    } 
    public void send(WebSocket webSocket) { 
     webSocket.send(finalMessage); 
    } 
} 

Et voici comment je l'appelle de la méthode onCreate:

client= new OkHttpClient(); 
Request request = new Request.Builder().url(Url).build(); 
EchoWebSocketListener listener = new EchoWebSocketListener(); 
webso = myClient.newWebSocket(request, listener); 
client.dispatcher().executorService().shutdown(); 

J'ai essayé de faire un objet à la classe et appeler une fonction je l'ai appelé « envoyer ':

EchoWebSocketListener object = new EchoWebSocketListener() 
object.send(webso) 

Mais cela ne fonctionne pas?

+0

double possible de [Comment créer une connexion websocket okhttp3 simple?] (Https://stackoverflow.com/questions/39416209/how-to-create-simple-okhttp3-websocket- connexion) –

+0

Alternative sans RxJava https://stackoverflow.com/a/46628736/7377682 –

Répondre