/** * Store the msg if the websocket hasn't connected. * * @param msg */ private void sendMsgs(String msg) { switch (state) { case NEW: { msges.add(msg); break; } case CONNECTED: { for (String sendMsg : msges) { wsc.sendTextMessage(sendMsg); LogCat.debug("send msg ====:" + msg); } msges.clear(); wsc.sendTextMessage(msg); LogCat.debug("send msg ====:" + msg); break; } case CLOSED: case ERROR: { if (!wsc.isConnected()) { LogCat.e("the websocket isn't opening. you can't send any sth."); wsEvents.onError("the websocket isn't opening. you can't send any sth."); break; } } } }
@Override public void onOpen() { state = WebSocketState.CONNECTED; LogCat.debug("KWebSocket opened !"); lockEvent = false; wsEvents.onConnected(); }
@Override public void onTextMessage(final String s) { LogCat.debug("receive msg on Wschannnel***: " + s); checkvalidThreadMethod( new ValidThreadCall() { @Override public void onValidThread() { wsEvents.onMessage(s); } }); }
@Override public void onClose(int webSocketCloseNotification, final String s) { state = WebSocketState.CLOSED; synchronized (waitLock) { lockEvent = true; waitLock.notify(); } LogCat.debug("KWebSocke closed !"); checkvalidThreadMethod( new ValidThreadCall() { @Override public void onValidThread() { wsEvents.onClosed(s); } }); }