@Override public void sendText(String message) { vertxServerWebSocket.writeFinalTextFrame(message); }
@Test public void testClientWebsocketWithHttp2Client() throws Exception { client.close(); client = vertx.createHttpClient(new HttpClientOptions().setHttp2ClearTextUpgrade(false).setProtocolVersion(HttpVersion.HTTP_2)); server = vertx.createHttpServer(new HttpServerOptions().setPort(DEFAULT_HTTP_PORT)); server.requestHandler(req -> { req.response().setChunked(true).write("connect"); }); server.websocketHandler(ws -> { ws.writeFinalTextFrame("ok"); }); server.listen(onSuccess(server -> { client.getNow(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", resp -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> { ws.handler(buff -> { assertEquals("ok", buff.toString()); testComplete(); }); }); }); })); await(); }
ws.writeFinalBinaryFrame(frame.binaryData()); } else { ws.writeFinalTextFrame(frame.textData());
public io.vertx.rxjava.core.http.ServerWebSocket writeFinalTextFrame(String text) { delegate.writeFinalTextFrame(text); return this; }
@Override public void sendText(String message) { vertxServerWebSocket.writeFinalTextFrame(message); }
public io.vertx.rxjava.core.http.ServerWebSocket writeFinalTextFrame(String text) { delegate.writeFinalTextFrame(text); return this; }
@Test public void testClientWebsocketWithHttp2Client() throws Exception { client.close(); client = vertx.createHttpClient(new HttpClientOptions().setHttp2ClearTextUpgrade(false).setProtocolVersion(HttpVersion.HTTP_2)); server = vertx.createHttpServer(new HttpServerOptions().setPort(DEFAULT_HTTP_PORT)); server.requestHandler(req -> { req.response().setChunked(true).write("connect"); }); server.websocketHandler(ws -> { ws.writeFinalTextFrame("ok"); }); server.listen(onSuccess(server -> { client.getNow(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", resp -> { client.websocket(DEFAULT_HTTP_PORT, HttpTestBase.DEFAULT_HTTP_HOST, "/", ws -> { ws.handler(buff -> { assertEquals("ok", buff.toString()); testComplete(); }); }); }); })); await(); }
ws.writeFinalBinaryFrame(frame.binaryData()); } else { ws.writeFinalTextFrame(frame.textData());
private HttpServer setupStatusService() { return vertx.createHttpServer().websocketHandler(websock -> { websock.writeFinalTextFrame(new JsonObject().put("message", getStatusServiceWelcomeMessage()).encode()); AtomicReference<String> uploadId = new AtomicReference<>(""); // sets up an event bus consumer to listen for import progress. MessageConsumer<JsonObject> consumer = vertx.eventBus().consumer(IMPORT_PROGRESS, data -> { try { if (uploadId.get().equals(data.body().getString(UPLOAD_ID))) { websock.writeFinalTextFrame(data.body().encode()); } } catch (Throwable e) { websock.close(); } }); // we only support one message from the client - to set the upload ID to listen to. websock.handler(handler -> uploadId.set(handler.toJsonObject().getString(UPLOAD_ID))); // when the websocket is closed we should stop listening for status messages. websock.closeHandler(closed -> consumer.unregister()); // when the websocket excepts we should also stop listening for status messages. websock.exceptionHandler(sock -> consumer.unregister()); }); }
@Override public void start() throws Exception { httpServer = vertx.createHttpServer(); httpServer .websocketHandler(websocketHandler -> { if (!websocketHandler.path().equals("/vertx/hot")) { websocketHandler.reject(); return; } MessageConsumer<JsonObject> consumer = vertx.eventBus().consumer(TOPIC); consumer.handler(m -> websocketHandler.writeFinalTextFrame(m.body().toString())); websocketHandler.closeHandler((v) -> consumer.unregister()); } ) .listen(notificationPort); logger.info("notification websocket started on: http://localhost:{}", notificationPort); }
private void onScoreBoard(ServerWebSocket ws) { // This WS is used to push the score periodically MessageConsumer<JsonArray> consumer = vertx.eventBus().consumer("/scores"); ws.closeHandler(v -> consumer.unregister()); consumer.handler(message -> ws.writeFinalTextFrame(message.body().encode())); }
private void onLeaderBoard(ServerWebSocket ws) { MessageConsumer<JsonArray> consumer = vertx.eventBus().consumer("/leaders"); ws.closeHandler(v -> consumer.unregister()); consumer.handler(message -> ws.writeFinalTextFrame(message.body().encode())); } }
socket.writeFinalTextFrame(message.body().encode()); } catch (IllegalStateException e) { socket.writeFinalTextFrame(json.encode());
.handler(m -> socket.writeFinalTextFrame(new JsonArray().add(m.body()).encode())); long task = vertx.setPeriodic(period, l -> socket.writeFinalTextFrame("[]"));