Because when I implement my own class extends from Java-websocket using interface to capture my events, UNION protocol not work, I will paste my class
package websocket;
import java.net.URI;
import java.util.Map;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.drafts.Draft;
import org.java_websocket.handshake.ServerHandshake;
public class WebsocketClientEndpoint extends WebSocketClient {
private WebsocketResponseEvents wsResponseMsg;
public interface WebsocketResponseEvents {
void onResponseWS(String message);
void onOpenWS(ServerHandshake handshakedata);
void onCloseWS(int code, String reason, boolean remote);
void onErrorWS(Exception ex);
}
public void setWsResponseMsg(WebsocketResponseEvents wsResponseMsg) {
this.wsResponseMsg = wsResponseMsg;
}
public WebsocketClientEndpoint(URI serverUri, Draft draft) {
super(serverUri, draft);
}
public WebsocketClientEndpoint(URI serverURI) {
super(serverURI);
}
public WebsocketClientEndpoint(URI serverUri, Map<String, String> httpHeaders) {
super(serverUri, httpHeaders);
}
@Override
public void onOpen(ServerHandshake handshakedata) {
wsResponseMsg.onOpenWS(handshakedata);
}
@Override
public void onMessage(String message) {
wsResponseMsg.onResponseWS(message);
}
@Override
public void onClose(int code, String reason, boolean remote) {
wsResponseMsg.onCloseWS(code, reason, remote);
}
@Override
public void onError(Exception ex) {
wsResponseMsg.onErrorWS(ex);
}
}