Example usage for io.netty.handler.codec.http.websocketx WebSocket13FrameDecoder WebSocket13FrameDecoder

List of usage examples for io.netty.handler.codec.http.websocketx WebSocket13FrameDecoder WebSocket13FrameDecoder

Introduction

In this page you can find the example usage for io.netty.handler.codec.http.websocketx WebSocket13FrameDecoder WebSocket13FrameDecoder.

Prototype

public WebSocket13FrameDecoder(boolean expectMaskedFrames, boolean allowExtensions, int maxFramePayloadLength) 

Source Link

Document

Constructor

Usage

From source file:game.net.websocket.WebSocketServerInitializer.java

License:Apache License

@Override
public void initChannel(SocketChannel ch) throws Exception {
    ChannelPipeline pipeline = ch.pipeline();
    if (sslCtx != null) {
        pipeline.addLast(sslCtx.newHandler(ch.alloc()));
    }// w w  w  .  j  a va2s. c om
    pipeline.addLast(new HttpServerCodec());
    pipeline.addLast(new HttpObjectAggregator(65536));
    pipeline.addLast(new WebSocket13FrameDecoder(true, true, 65536));
    pipeline.addLast(new WebSocket13FrameEncoder(false));
    pipeline.addLast(new WebSocketFrameAggregator(65536));
    pipeline.addLast(new IdleStateHandler(60, 60, 60));
    pipeline.addLast(new WebSocketServerHandler());
}

From source file:io.vertx.core.http.WebSocketTest.java

License:Open Source License

@Test
public void testCleanServerClose() {
    waitFor(2);/*from w w  w .ja  v a 2  s  . c  om*/
    server = vertx.createHttpServer();
    server.websocketHandler(ws -> {
        ws.closeHandler(v -> {
            complete();
        });
    });
    server.listen(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, onSuccess(v1 -> {
        client = vertx.createHttpClient();
        handshake(res -> {
            NetSocketInternal so = (NetSocketInternal) res;
            so.channelHandlerContext().pipeline().addBefore("handler", "encoder",
                    new WebSocket13FrameEncoder(true));
            so.channelHandlerContext().pipeline().addBefore("handler", "decoder",
                    new WebSocket13FrameDecoder(false, false, 1000));
            int status = 4000 + TestUtils.randomPositiveInt() % 100;
            String reason = TestUtils.randomAlphaString(10);
            so.writeMessage(new CloseWebSocketFrame(status, reason));
            Deque<Object> received = new ArrayDeque<>();
            so.messageHandler(received::add);
            so.closeHandler(v2 -> {
                assertEquals(1, received.size());
                Object msg = received.getFirst();
                assertEquals(msg.getClass(), CloseWebSocketFrame.class);
                CloseWebSocketFrame frame = (CloseWebSocketFrame) msg;
                assertEquals(status, frame.statusCode());
                assertEquals(reason, frame.reasonText());
                complete();
            });
        });
    }));
    await();
}

From source file:io.vertx.core.http.WebSocketTest.java

License:Open Source License

@Test
public void testCleanClientClose() {
    waitFor(2);/* ww w.  j  a v  a 2  s. c o m*/
    server = vertx.createHttpServer();
    server.requestHandler(req -> {
        NetSocketInternal so = (NetSocketInternal) handshake(req);
        if (so != null) {
            so.channelHandlerContext().pipeline().addBefore("handler", "encoder",
                    new WebSocket13FrameEncoder(false));
            so.channelHandlerContext().pipeline().addBefore("handler", "decoder",
                    new WebSocket13FrameDecoder(true, false, 1000));
            Deque<Object> received = new ArrayDeque<>();
            so.messageHandler(received::add);
            int status = 4000 + TestUtils.randomPositiveInt() % 100;
            String reason = TestUtils.randomAlphaString(10);
            so.writeMessage(new CloseWebSocketFrame(status, reason));
            so.closeHandler(v -> {
                assertEquals(1, received.size());
                Object msg = received.getFirst();
                assertEquals(msg.getClass(), CloseWebSocketFrame.class);
                CloseWebSocketFrame frame = (CloseWebSocketFrame) msg;
                assertEquals(status, frame.statusCode());
                assertEquals(reason, frame.reasonText());
                complete();
            });
        }
    });
    server.listen(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, onSuccess(v1 -> {
        client = vertx.createHttpClient();
        client.webSocket(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/chat", onSuccess(ws -> {
            ws.closeHandler(v -> {
                complete();
            });
        }));
    }));
    await();
}