private void connectToFrameStream(WebSocket webSocket) { webSocket.dataHandler(new Handler<Buffer>() { @Override public void handle(Buffer buffer) { if (verbose) { puts("Recieved data", buffer.toString()); } handleMessageFromServer(buffer.toString()); } }); }
public void dataHandler(Handler<Buffer> handler) { ws.dataHandler(handler); }
class RealTimeEventHandler implements Handler<WebSocket> { EventsCollector collector public RealTimeEventHandler(EventsCollector collector) { this.collector = collector; } @Override void handle(WebSocket e) { e.dataHandler(new Handler<Buffer>() { @Override void handle(Buffer b) { println b.toString() collector.addEvent(new JsonSlurper().parseText(b.toString())) } }) } }
VertxFactory.newVertx() .createHttpClient() .setHost("localhost") .setPort(8080) .connectWebsocket("/ws", new Handler<WebSocket>() { @Override public void handle(final WebSocket webSocket) { // Listen webSocket.dataHandler(new Handler<Buffer>() { @Override public void handle(Buffer buff) { log.info("Received {}", buff.toString()); } }); // Publish webSocket.writeTextFrame("Heya"); } });
WebSocketListener(final WebSocket ws, final Session session) { this.ws = ws; this.session = session; ws.dataHandler(new Handler<Buffer>() { public void handle(Buffer data) { if (!session.isClosed()) { String msgs = data.toString(); if (msgs.equals("")) { //Ignore empty frames } else if ((msgs.startsWith("[\"") && msgs.endsWith("\"]")) || (msgs.startsWith("\"") && msgs.endsWith("\""))) { session.handleMessages(msgs); } else { //Invalid JSON - we close the connection close(); } } } }); ws.closedHandler(new SimpleHandler() { public void handle() { closed = true; session.shutdown(); } }); }
@Override public WebSocket dataHandler(Env env, Value handler) { PhpTypes.assertCallable(env, handler, "Argument to Vertx\\Http\\WebSocket::dataHandler() must be callable."); socket.dataHandler(HandlerFactory.createBufferHandler(env, handler)); return this; }