public void echoFragments() throws Throwable { try (AsyncHttpClient client = getAsyncHttpClient(null)) { final CountDownLatch latch = new CountDownLatch(1); final AtomicReference<String> text = new AtomicReference<>(""); WebSocket websocket = client.prepareGet(getTargetUrl()).execute(new WebSocketUpgradeHandler.Builder().addWebSocketListener(new WebSocketTextListener() { @Override public void onMessage(String message) { text.set(message); latch.countDown(); } @Override public void onOpen(com.ning.http.client.ws.WebSocket websocket) { } @Override public void onClose(com.ning.http.client.ws.WebSocket websocket) { latch.countDown(); } @Override public void onError(Throwable t) { t.printStackTrace(); latch.countDown(); } }).build()).get(); websocket.stream("ECHO", false); websocket.stream("ECHO", true); latch.await(); assertEquals(text.get(), "ECHOECHO"); } }