List of usage examples for com.google.gwt.websockets.client WebSocketCallback WebSocketCallback
WebSocketCallback
From source file:org.waveprotocol.box.webclient.client.WaveSocketFactory.java
License:Apache License
/** * Create a WaveSocket instance that wraps a concrete socket implementation. * If useWebSocketAlt is true an instance of {@link org.waveprotocol.box.webclient.client.atmosphere.AtmosphereConnection} * is wrapped, otherwise an instance of {@link com.google.gwt.websockets.client.WebSocket} is * wrapped./*from www. ja va 2 s.c o m*/ */ public static WaveSocket create(boolean useWebSocketAlt, final String urlBase, final WaveSocket.WaveSocketCallback callback) { if (useWebSocketAlt) { return new WaveSocket() { private final AtmosphereConnection socket = new AtmosphereConnectionImpl( new AtmosphereConnectionListener() { @Override public void onConnect() { callback.onConnect(); } @Override public void onDisconnect() { callback.onDisconnect(); } @Override public void onMessage(String message) { callback.onMessage(message); } }, urlBase); @Override public void connect() { socket.connect(); } @Override public void disconnect() { socket.close(); } @Override public void sendMessage(String message) { socket.sendMessage(message); } }; } else { return new WaveSocket() { final WebSocket socket = new WebSocket(new WebSocketCallback() { @Override public void onConnect() { callback.onConnect(); } @Override public void onDisconnect() { callback.onDisconnect(); } @Override public void onMessage(String message) { callback.onMessage(message); } }); @Override public void connect() { socket.connect(urlBase + "socket"); } @Override public void disconnect() { socket.close(); } @Override public void sendMessage(String message) { socket.send(message); } }; } }
From source file:org.waveprotocol.wave.examples.client.webclient.client.WaveWebSocketClient.java
License:Apache License
public WaveWebSocketClient(final WaveWebSocketCallback callback) { submitRequestCallbacks = new HashMap<Integer, SubmitResponseCallback>(); WebSocketCallback wsCallback = new WebSocketCallback() { public void onConnect() { connected = ConnectState.CONNECTED; callback.connected();/* w ww . j ava 2 s .com*/ } public void onDisconnect() { connected = ConnectState.DISCONNECTED; callback.disconnected(); } public void onMessage(final String message) { LOG.info("received JSON message " + message); JSONValue json = JSONParser.parse(message); // TODO(arb): pull apart the wrapper, extract the message. JSONObject wrapper = json.isObject(); String messageType = wrapper.get("messageType").isString().stringValue(); String payload = wrapper.get("messageJson").isString().stringValue(); if (messageType.equals("ProtocolWaveletUpdate")) { ProtocolWaveletUpdate payloadMessage = ProtocolWaveletUpdate.parse(payload); callback.handleWaveletUpdate(payloadMessage); } else if (messageType.equals("ProtocolSubmitResponse")) { ProtocolSubmitResponse payloadMessage = ProtocolSubmitResponse.parse(payload); SubmitResponseCallback submitCallback = submitRequestCallbacks .get((int) wrapper.get("sequenceNumber").isNumber().doubleValue()); submitCallback.run(payloadMessage); } } }; client = new WebSocket(wsCallback); }