代码拉取完成,页面将自动刷新
WebSocketServerHandler.java
这份代码看上去没有问题,实际是有问题的,还有一种情况,就是WebSocketFrame 过大时,会拆分处理,或者在测试时,可以将text类型消息变大点,大到1M,数据会出现多帧的情况
private void handleWebSocketFrame(ChannelHandlerContext ctx, WebSocketFrame frame) {
if (frame instanceof TextWebSocketFrame) {
pojoEndpointServer.doOnMessage(ctx.channel(), frame);
return;
}
if (frame instanceof PingWebSocketFrame) {
ctx.writeAndFlush(new PongWebSocketFrame(frame.content().retain()));
return;
}
if (frame instanceof CloseWebSocketFrame) {
ctx.writeAndFlush(frame.retainedDuplicate()).addListener(ChannelFutureListener.CLOSE);
return;
}
if (frame instanceof BinaryWebSocketFrame) {
pojoEndpointServer.doOnBinary(ctx.channel(), frame);
return;
}
if (frame instanceof PongWebSocketFrame) {
return;
}
}