@Override public String toString() { return getClass().getSimpleName() + "(text: " + getText() + ')'; } }
@Override protected Object decode(ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception { Event event = null; try { TextWebSocketFrame frame = (TextWebSocketFrame) msg; event = gson.fromJson(frame.getText(), DefaultEvent.class); if (event.getType() == Events.NETWORK_MESSAGE) { event.setType(Events.SESSION_MESSAGE); } } catch (Exception e) { LOG.error("Exception occurred while decoding json: ", e); } return event; }
String data = frame.getText(); LOG.trace("From websocket: " + data); Event event = gson.fromJson(data, DefaultEvent.class);
private Object getData(WebSocketFrame frame) { if (frame instanceof TextWebSocketFrame) { return ((TextWebSocketFrame) frame).getText(); } else { return frame.getBinaryData(); } } }
String frame = wf.getText(); char frameType = frame.charAt(0);
private void handleWebSocketFrame(ChannelHandlerContext ctx, Channel channel, WebSocketFrame frame) throws IOException { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.getChannel(), (CloseWebSocketFrame) frame); return; } else if (frame instanceof PingWebSocketFrame) { ctx.getChannel().write(new PongWebSocketFrame(frame.getBinaryData())); return; } else if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported", frame.getClass().getName())); } String request = ((TextWebSocketFrame) frame).getText(); logger.debug(String.format("Channel %s received '%s'", ctx.getChannel().getId(), request)); SockJsMessage jsMessage = new SockJsMessage(request); ctx.sendUpstream(new UpstreamMessageEvent(channel, jsMessage, channel.getRemoteAddress())); }
private void websocketFrameReceived(ChannelHandlerContext ctx, WebSocketFrame webSocketFrame) { Http.Inbound inbound = channels.get(ctx); // Check for closing frame if (webSocketFrame instanceof CloseWebSocketFrame) { this.handshaker.close(ctx.getChannel(), (CloseWebSocketFrame) webSocketFrame); } else if (webSocketFrame instanceof PingWebSocketFrame) { ctx.getChannel().write(new PongWebSocketFrame(webSocketFrame.getBinaryData())); } else if (webSocketFrame instanceof BinaryWebSocketFrame) { inbound._received(new Http.WebSocketFrame(webSocketFrame.getBinaryData().array())); } else if (webSocketFrame instanceof TextWebSocketFrame) { inbound._received(new Http.WebSocketFrame(((TextWebSocketFrame) webSocketFrame).getText())); } }
} else if (frame instanceof TextWebSocketFrame) { String request = ((TextWebSocketFrame) frame).getText(); ChannelBuffer payload = frame.getBinaryData();