io.advantageous.qbit.http.websocket.WebSocket类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(12.0k)|赞(0)|评价(0)|浏览(129)

本文整理了Java中io.advantageous.qbit.http.websocket.WebSocket类的一些代码示例,展示了WebSocket类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WebSocket类的具体详情如下:
包路径:io.advantageous.qbit.http.websocket.WebSocket
类名称:WebSocket

WebSocket介绍

[英]created by rhightower on 2/14/15.
[中]由rhightower于2015年2月14日创建。

代码示例

代码示例来源:origin: advantageous/qbit

private void defaultWebSocketHandler(final WebSocket webSocket) {
  webSocket.setTextMessageConsumer(webSocketMessageIn -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(Timer.timer().now()).setSender(
            message -> {
              if (webSocket.isOpen()) {
                webSocket.sendText(message);
  webSocket.setBinaryMessageConsumer(webSocketMessageIn -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(Timer.timer().now()).setSender(
            new WebSocketSender() {
  webSocket.setCloseConsumer(aVoid -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(time).build();
  webSocket.setErrorConsumer(e -> logger.error("Error with WebSocket handling", e));

代码示例来源:origin: advantageous/qbit

if (webSocket.isClosed() && connected()) {
  this.webSocket.openAndNotify(netSocket -> {
    connected.set(true);
    webSocket.sendText(message, exceptionConsumer);
  }, exceptionConsumer);
} else {
  webSocket.sendText(message);

代码示例来源:origin: advantageous/qbit

if (event.isBinary()) {
      ((NetSocketBase) webSocket).setBinary();
      webSocket.onBinaryMessage(bufferRef[0].getBytes());
    } else {
      webSocket.onTextMessage(bufferRef[0].toString("UTF-8"));
vertxWebSocket.closeHandler(event -> webSocket.onClose());
    webSocket.onError((Exception) error);
  } else {
    webSocket.onError(new Exception(error));
webSocket.onOpen();
  webSocket.onError((Exception) error);
} else {
  exceptionConsumer.accept(new Exception(error));
  webSocket.onError(new Exception(error));

代码示例来源:origin: advantageous/qbit

@Override
  public boolean send(String item) {
    webSocket.sendText(item);
    return !webSocket.isClosed();
  }
};

代码示例来源:origin: advantageous/qbit

private void wireWebSocket(final String serviceName, final String message) {
  this.webSocket.setErrorConsumer(error -> {
    if (error instanceof ConnectException) {
      connected.set(false);
    }
    logger.error(sputs(this.getClass().getName(),
        "::Exception calling WebSocket from client proxy",
        "\nService Name", serviceName, "\nMessage", message), error);
  });
  //noinspection Convert2MethodRef
  this.webSocket.setTextMessageConsumer(messageFromServer -> handleWebSocketReplyMessage(messageFromServer));
}

代码示例来源:origin: advantageous/qbit

public static void main(String... args) {
    final HttpClient httpClient = httpClientBuilder().setAutoFlush(true).setPort(9999).build();

    httpClient.startClient();

    final WebSocket webSocket = httpClient.createWebSocket("/hello");

    webSocket.setTextMessageConsumer(message ->
        puts("\n\n\n", message, "\n\n")
    );

    webSocket.openAndWait();

    webSocket.sendText("Hello");

    Sys.sleep(100000);
  }
}

代码示例来源:origin: advantageous/qbit

@Test
public void testWebSocket() {
  connect();
  server.setWebSocketMessageConsumer(webSocketMessage -> {
    puts(webSocketMessage.address(), webSocketMessage.body());
    if (webSocketMessage.getMessage().equals("What do you want on your cheeseburger?")) {
      webSocketMessage.getSender().sendText("Bacon");
      requestReceived.set(true);
    } else {
      puts("Websocket message", webSocketMessage.getMessage());
    }
  });
  run();
  final WebSocket webSocket = client.createWebSocket("/services/cheeseburger");
  webSocket.setTextMessageConsumer(message -> {
    if (message.equals("Bacon")) {
      responseReceived.set(true);
    }
  });
  webSocket.setOpenConsumer(
      aVoid -> {
        webSocket.sendText("What do you want on your cheeseburger?");
      }
  );
  webSocket.open(e -> {
  });
  client.flush();
  validate();
  stop();
}

代码示例来源:origin: com.github.advantageous/qbit-core

wireWebSocket(serviceName, message);
  try {
    this.webSocket.openAndWait();
    this.connected.set(true);
    if (webSocket.isClosed() && connected()) {
      this.webSocket.openAndWait();
      this.connected.set(true);
if (!webSocket.isClosed()) {
  webSocket.sendText(message);
} else {
  connected.set(false);

代码示例来源:origin: advantageous/qbit

@Test
public void testBinary() throws Exception {
  final int port = PortUtils.findOpenPortStartAt(4001);
  final HttpServer httpServer = HttpServerBuilder.httpServerBuilder().setPort(port).build();
  final AtomicReference<Object> bodyRef = new AtomicReference<>();
  final AtomicReference<byte[]> messageRef = new AtomicReference<>();
  final CountDownLatch countDownLatch = new CountDownLatch(2);
  httpServer.setWebSocketMessageConsumer(webSocketMessage -> {
    bodyRef.set(webSocketMessage.body());
    webSocketMessage.getSender().sendBytes("world".getBytes());
    countDownLatch.countDown();
  });
  httpServer.startServerAndWait();
  final HttpClient httpClient = HttpClientBuilder.httpClientBuilder().setPort(port).buildAndStart();
  final WebSocket webSocket = httpClient.createWebSocket("/foo");
  webSocket.setBinaryMessageConsumer(message -> {
    messageRef.set(message);
    countDownLatch.countDown();
  });
  webSocket.openAndWait();
  webSocket.sendBinary("hello".getBytes());
  countDownLatch.await(5, TimeUnit.SECONDS);
  assertEquals("world", new String(messageRef.get(), StandardCharsets.UTF_8));
  assertEquals("hello", new String(((byte[]) bodyRef.get()), StandardCharsets.UTF_8));
}

代码示例来源:origin: advantageous/qbit

@Test
public void testTextQueue() throws Exception {
  final int port = PortUtils.findOpenPortStartAt(4000);
  final HttpServer httpServer = HttpServerBuilder.httpServerBuilder().setPort(port).build();
  final AtomicReference<Object> bodyRef = new AtomicReference<>();
  httpServer.setWebSocketMessageConsumer(webSocketMessage -> {
    bodyRef.set(webSocketMessage.body());
    webSocketMessage.getSender().sendText("world");
  });
  httpServer.startServerAndWait();
  final HttpClient httpClient = HttpClientBuilder.httpClientBuilder().setPort(port).buildAndStart();
  final WebSocket webSocket = httpClient.createWebSocket("/foo");
  final WebSocketTextQueue queue = new WebSocketTextQueue(webSocket);
  webSocket.openAndWait();
  webSocket.sendText("hello");
  String message = queue.receiveQueue().pollWait();
  assertEquals("world", message);
  assertEquals("hello", bodyRef.get().toString());
}

代码示例来源:origin: advantageous/qbit

public WebSocketTextQueue(final WebSocket webSocket, final int batchSize, final int flushInterval, final TimeUnit timeUnit) {
  this.webSocket = webSocket;
  this.stringQueue = QueueBuilder.queueBuilder().setBatchSize(batchSize).setPollWait(1000).build();
  final SendQueue<String> sendQueue = this.stringQueue.sendQueueWithAutoFlush(flushInterval, timeUnit);
  this.webSocket.setTextMessageConsumer(sendQueue::send);
}

代码示例来源:origin: advantageous/qbit

@Override
  public void sendText(final String body) {
    httpSendWebSocketCalled.set(true);
    periodicFlushCallback.accept(null);
    final List<MethodCall<Object>> methodCalls = QBit.factory().createProtocolParser().parseMethodCalls("", body);
    serviceBundle.call(methodCalls);
    serviceBundle.flush();
    Sys.sleep(100);
    if (response != null) {
      if (response.wasErrors()) {
        puts("FAILED RESPONSE", response);
      } else {
        String simulatedMessageFromServer = QBit.factory().createEncoder().encodeResponses("", Lists.list(response));
        webSocket.onTextMessage(simulatedMessageFromServer);
      }
    } else {
      puts(response);
    }
  }
};

代码示例来源:origin: advantageous/qbit

@Test
public void testNewOpenWaitWebSocketNewServerStuff() {
  connect();
  server.setWebSocketOnOpenConsumer(webSocket -> webSocket.setTextMessageConsumer(message -> {
    if (message.equals("What do you want on your cheeseburger?")) {
      webSocket.sendText("Bacon");
      requestReceived.set(true);
    } else {
      puts("Websocket message", message);
    }
  }));
  run();
  final WebSocket webSocket = client.createWebSocket("/services/cheeseburger");
  webSocket.setTextMessageConsumer(message -> {
    if (message.equals("Bacon")) {
      responseReceived.set(true);
    }
  });
  webSocket.openAndWait();
  webSocket.sendText("What do you want on your cheeseburger?");
  client.flush();
  validate();
  stop();
}

代码示例来源:origin: com.github.advantageous/qbit-core

private void wireWebSocket(final String serviceName, final String message) {
  this.webSocket.setErrorConsumer(error ->
      logger.error(sputs(this.getClass().getName(),
          "::Exception calling WebSocket from client proxy", "\nService Name", serviceName, "\nMessage", message), error));
  //noinspection Convert2MethodRef
  this.webSocket.setTextMessageConsumer(messageFromServer -> handleWebSocketReplyMessage(messageFromServer));
}

代码示例来源:origin: io.advantageous.qbit/qbit-core

@Override
  public boolean send(String item) {
    webSocket.sendText(item);
    return !webSocket.isClosed();
  }
};

代码示例来源:origin: advantageous/qbit

@Test
public void testTextQueueWithBatchSize() throws Exception {
  final int port = PortUtils.findOpenPortStartAt(4000);
  final HttpServer httpServer = HttpServerBuilder.httpServerBuilder().setPort(port).build();
  final AtomicReference<Object> bodyRef = new AtomicReference<>();
  httpServer.setWebSocketMessageConsumer(webSocketMessage -> {
    bodyRef.set(webSocketMessage.body());
    webSocketMessage.getSender().sendText("world");
  });
  httpServer.startServerAndWait();
  final HttpClient httpClient = HttpClientBuilder.httpClientBuilder().setPort(port).buildAndStart();
  final WebSocket webSocket = httpClient.createWebSocket("/foo");
  final WebSocketTextQueue queue = new WebSocketTextQueue(webSocket, 100, 100, TimeUnit.MILLISECONDS);
  webSocket.openAndWait();
  webSocket.sendText("hello");
  String message = queue.receiveQueue().pollWait();
  assertEquals("world", message);
  assertEquals("hello", bodyRef.get().toString());
}

代码示例来源:origin: advantageous/qbit

public WebSocketTextQueue(final WebSocket webSocket) {
  this.webSocket = webSocket;
  this.stringQueue = QueueBuilder.queueBuilder().setBatchSize(1).setLimit(100).setPollWait(1000).build();
  final SendQueue<String> sendQueue = this.stringQueue.sendQueue();
  this.webSocket.setTextMessageConsumer(sendQueue::send);
}

代码示例来源:origin: com.github.advantageous/qbit-core

private void defaultWebSocketHandler(final WebSocket webSocket) {
  webSocket.setTextMessageConsumer(webSocketMessageIn -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(Timer.timer().now()).setSender(
            message -> {
              if (webSocket.isOpen()) {
                webSocket.sendText(message);
  webSocket.setBinaryMessageConsumer(webSocketMessageIn -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(Timer.timer().now()).setSender(
            new WebSocketSender() {
  webSocket.setCloseConsumer(aVoid -> {
        .setUri(webSocket.uri())
        .setRemoteAddress(webSocket.remoteAddress())
        .setTimestamp(time).build();
  webSocket.setErrorConsumer(e -> logger.error("Error with WebSocket handling", e));

代码示例来源:origin: advantageous/qbit

webSocket.onOpen();
vertxServerWebSocket.closeHandler(event -> webSocket.onClose());
    if (event.isBinary()) {
      ((NetSocketBase) webSocket).setBinary();
      webSocket.onBinaryMessage(finalBuffer.getBytes());
    } else {
      webSocket.onTextMessage(finalBuffer.toString("UTF-8"));
    webSocket.onError((Exception) event);
  } else {
    webSocket.onError(new Exception(event));

代码示例来源:origin: advantageous/qbit

@Test
public void testText() throws Exception {
  final int port = PortUtils.findOpenPortStartAt(4000);
  final HttpServer httpServer = HttpServerBuilder.httpServerBuilder().setPort(port).build();
  final AtomicReference<Object> bodyRef = new AtomicReference<>();
  final AtomicReference<String> messageRef = new AtomicReference<>();
  final CountDownLatch countDownLatch = new CountDownLatch(2);
  httpServer.setWebSocketMessageConsumer(webSocketMessage -> {
    bodyRef.set(webSocketMessage.body());
    webSocketMessage.getSender().sendText("world");
    countDownLatch.countDown();
  });
  httpServer.startServerAndWait();
  final HttpClient httpClient = HttpClientBuilder.httpClientBuilder().setPort(port).buildAndStart();
  final WebSocket webSocket = httpClient.createWebSocket("/foo");
  webSocket.setTextMessageConsumer(message -> {
    messageRef.set(message);
    countDownLatch.countDown();
  });
  webSocket.openAndWait();
  webSocket.sendText("hello");
  countDownLatch.await(5, TimeUnit.SECONDS);
  assertEquals("world", messageRef.get());
  assertEquals("hello", bodyRef.get().toString());
}

相关文章