[{"title":"( 36 个子文件 34KB ) 基于spring boot + netty实现websocket","children":[{"title":"demo-websocket","children":[{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"test.html <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"application.yml <span style='color:#111;'> 180B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"per","children":[{"title":"code","children":[{"title":"pz","children":[{"title":"websocket","children":[{"title":"handler","children":[{"title":"WebSocketHandler.java <span style='color:#111;'> 940B </span>","children":null,"spread":false}],"spread":true},{"title":"config","children":[{"title":"NettyConfigurerAdapter.java <span style='color:#111;'> 2.55KB </span>","children":null,"spread":false},{"title":"SchedulingConfig.java <span style='color:#111;'> 708B </span>","children":null,"spread":false}],"spread":true},{"title":"WebsocketApplication.java <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false},{"title":"netty","children":[{"title":"ChannelAttr.java <span style='color:#111;'> 369B </span>","children":null,"spread":false},{"title":"NettyChannelInitializer.java <span style='color:#111;'> 1.94KB </span>","children":null,"spread":false},{"title":"ChannelGroups.java <span style='color:#111;'> 1.69KB </span>","children":null,"spread":false},{"title":"NettyServer.java <span style='color:#111;'> 1.87KB </span>","children":null,"spread":false}],"spread":true},{"title":"protocol","children":[{"title":"MyWebSocketHandshakeHandler.java <span style='color:#111;'> 5.12KB </span>","children":null,"spread":false},{"title":"MyWebSocketServerProtocolHandler.java <span style='color:#111;'> 3.13KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"test","children":[{"title":"resources","children":null,"spread":false},{"title":"java","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".classpath <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":".settings","children":[{"title":"org.eclipse.m2e.core.prefs <span style='color:#111;'> 90B </span>","children":null,"spread":false},{"title":"org.eclipse.core.resources.prefs <span style='color:#111;'> 191B </span>","children":null,"spread":false},{"title":"org.eclipse.jdt.core.prefs <span style='color:#111;'> 243B </span>","children":null,"spread":false}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"target","children":[{"title":"classes","children":[{"title":"META-INF","children":[{"title":"MANIFEST.MF <span style='color:#111;'> 356B </span>","children":null,"spread":false},{"title":"maven","children":[{"title":"per.code.pz","children":[{"title":"demo-websocket","children":[{"title":"pom.properties <span style='color:#111;'> 252B </span>","children":null,"spread":false},{"title":"pom.xml <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"test.html <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"per","children":[{"title":"code","children":[{"title":"pz","children":[{"title":"websocket","children":[{"title":"handler","children":[{"title":"WebSocketHandler.class <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false}],"spread":true},{"title":"WebsocketApplication$1.class <span style='color:#111;'> 856B </span>","children":null,"spread":false},{"title":"config","children":[{"title":"NettyConfigurerAdapter.class <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"SchedulingConfig.class <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false}],"spread":false},{"title":"netty","children":[{"title":"NettyServer.class <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false},{"title":"NettyChannelInitializer.class <span style='color:#111;'> 2.70KB </span>","children":null,"spread":false},{"title":"ChannelGroups.class <span style='color:#111;'> 2.75KB </span>","children":null,"spread":false},{"title":"ChannelAttr.class <span style='color:#111;'> 656B </span>","children":null,"spread":false}],"spread":false},{"title":"WebsocketApplication.class <span style='color:#111;'> 1.94KB </span>","children":null,"spread":false},{"title":"protocol","children":[{"title":"MyWebSocketHandshakeHandler$1.class <span style='color:#111;'> 4.23KB </span>","children":null,"spread":false},{"title":"MyWebSocketHandshakeHandler.class <span style='color:#111;'> 7.02KB </span>","children":null,"spread":false},{"title":"MyWebSocketServerProtocolHandler$1.class <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false},{"title":"MyWebSocketServerProtocolHandler.class <span style='color:#111;'> 3.34KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"application.yml <span style='color:#111;'> 180B </span>","children":null,"spread":false}],"spread":true},{"title":"test-classes","children":null,"spread":false}],"spread":true},{"title":".project <span style='color:#111;'> 566B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]