[{"title":"( 89 个子文件 53KB ) netty断线重连机制及心跳机制.rar","children":[{"title":"netty-im","children":[{"title":"pom.xml <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false},{"title":"netty-im-server","children":[{"title":"pom.xml <span style='color:#111;'> 1011B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"netty","children":[{"title":"im","children":[{"title":"server","children":[{"title":"ImServerApp.java <span style='color:#111;'> 476B </span>","children":null,"spread":false},{"title":"handler","children":[{"title":"ServerStringHandler.java <span style='color:#111;'> 606B </span>","children":null,"spread":false},{"title":"ServerPoHandlerProto.java <span style='color:#111;'> 859B </span>","children":null,"spread":false},{"title":"ServerPoHandler.java <span style='color:#111;'> 773B </span>","children":null,"spread":false}],"spread":true},{"title":"core","children":[{"title":"ConnectionPool.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"ImServer.java <span style='color:#111;'> 3.23KB </span>","children":null,"spread":false}],"spread":true},{"title":"http","children":[{"title":"NettyHttpServer.java <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"NettyHttpServerHandler.java <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false}],"spread":false},{"title":"api","children":[{"title":"MessageController.java <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"netty-im-server.iml <span style='color:#111;'> 4.82KB </span>","children":null,"spread":false}],"spread":true},{"title":"netty-im-client","children":[{"title":"pom.xml <span style='color:#111;'> 882B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"netty","children":[{"title":"im","children":[{"title":"client","children":[{"title":"ImClientApp.java <span style='color:#111;'> 947B </span>","children":null,"spread":false},{"title":"handler","children":[{"title":"ClientPoHandler.java <span style='color:#111;'> 649B </span>","children":null,"spread":false},{"title":"ClientStringHandler.java <span style='color:#111;'> 564B </span>","children":null,"spread":false},{"title":"ClientPoHandlerProto.java <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"core","children":[{"title":"ImConnection.java <span style='color:#111;'> 2.93KB </span>","children":null,"spread":false},{"title":"ConnectionListener.java <span style='color:#111;'> 958B </span>","children":null,"spread":false}],"spread":false},{"title":"demo","children":[{"title":"fixed","children":[{"title":"FixedLengthFrameDecoderServer.java <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"FixedLengthFrameDecoderClient.java <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false}],"spread":false},{"title":"delimiter","children":[{"title":"DelimiterBasedFrameDecoderClient.java <span style='color:#111;'> 1.90KB </span>","children":null,"spread":false},{"title":"DelimiterBasedFrameDecoderServer.java <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false}],"spread":false},{"title":"line","children":[{"title":"LineBasedFrameServer.java <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"LineBasedFrameClient.java <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false}],"spread":false},{"title":"base64","children":[{"title":"Base64EncoderAndDecoderClient.java <span style='color:#111;'> 1.88KB </span>","children":null,"spread":false},{"title":"Base64EncoderAndDecoderServer.java <span style='color:#111;'> 2.28KB </span>","children":null,"spread":false}],"spread":false},{"title":"object","children":[{"title":"ObjectEncoderAndDecoderServer.java <span style='color:#111;'> 2.20KB </span>","children":null,"spread":false},{"title":"ObjectEncoderAndDecoderClient.java <span style='color:#111;'> 1.90KB </span>","children":null,"spread":false},{"title":"ObjectMessage.java <span style='color:#111;'> 460B </span>","children":null,"spread":false}],"spread":false},{"title":"length","children":[{"title":"LengthFieldBasedFrameDecoderServer.java <span style='color:#111;'> 2.37KB </span>","children":null,"spread":false},{"title":"LengthFieldBasedFrameDecoderClient.java <span style='color:#111;'> 1.99KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"netty-im-client.iml <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false}],"spread":true},{"title":"netty-im.iml <span style='color:#111;'> 585B </span>","children":null,"spread":false},{"title":".idea","children":[{"title":"misc.xml <span style='color:#111;'> 455B </span>","children":null,"spread":false},{"title":"modules.xml <span style='color:#111;'> 693B </span>","children":null,"spread":false},{"title":"encodings.xml <span style='color:#111;'> 394B </span>","children":null,"spread":false},{"title":"compiler.xml <span style='color:#111;'> 894B </span>","children":null,"spread":false},{"title":"workspace.xml <span style='color:#111;'> 4.37KB </span>","children":null,"spread":false},{"title":"libraries","children":[{"title":"Maven__com_google_protobuf_protobuf_java_3_5_1.xml <span style='color:#111;'> 619B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_beans_4_3_4_RELEASE.xml <span style='color:#111;'> 668B </span>","children":null,"spread":false},{"title":"Maven__ch_qos_logback_logback_core_1_1_7.xml <span style='color:#111;'> 592B </span>","children":null,"spread":false},{"title":"Maven__org_yaml_snakeyaml_1_17.xml <span style='color:#111;'> 540B </span>","children":null,"spread":false},{"title":"Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml <span style='color:#111;'> 653B </span>","children":null,"spread":false},{"title":"Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_4.xml <span style='color:#111;'> 689B </span>","children":null,"spread":false},{"title":"Maven__org_slf4j_log4j_over_slf4j_1_7_21.xml <span style='color:#111;'> 607B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_1_4_2_RELEASE.xml <span style='color:#111;'> 681B </span>","children":null,"spread":false},{"title":"Maven__org_slf4j_jul_to_slf4j_1_7_21.xml <span style='color:#111;'> 579B </span>","children":null,"spread":false},{"title":"Maven__com_esotericsoftware_kryo_kryo_2_24_0.xml <span style='color:#111;'> 587B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_context_4_3_4_RELEASE.xml <span style='color:#111;'> 682B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_webmvc_4_3_4_RELEASE.xml <span style='color:#111;'> 675B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_starter_1_4_2_RELEASE.xml <span style='color:#111;'> 737B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_aop_4_3_4_RELEASE.xml <span style='color:#111;'> 654B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_starter_web_1_4_2_RELEASE.xml <span style='color:#111;'> 765B </span>","children":null,"spread":false},{"title":"Maven__org_slf4j_jcl_over_slf4j_1_7_21.xml <span style='color:#111;'> 593B </span>","children":null,"spread":false},{"title":"Maven__de_javakaffee_kryo_serializers_0_26.xml <span style='color:#111;'> 609B </span>","children":null,"spread":false},{"title":"Maven__org_slf4j_slf4j_api_1_7_21.xml <span style='color:#111;'> 558B </span>","children":null,"spread":false},{"title":"Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_6.xml <span style='color:#111;'> 649B </span>","children":null,"spread":false},{"title":"Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_6.xml <span style='color:#111;'> 698B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_starter_tomcat_1_4_2_RELEASE.xml <span style='color:#111;'> 786B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_web_4_3_4_RELEASE.xml <span style='color:#111;'> 654B </span>","children":null,"spread":false},{"title":"Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_6.xml <span style='color:#111;'> 663B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_expression_4_3_4_RELEASE.xml <span style='color:#111;'> 703B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_spring_core_4_3_4_RELEASE.xml <span style='color:#111;'> 661B </span>","children":null,"spread":false},{"title":"Maven__org_hibernate_hibernate_validator_5_2_4_Final.xml <span style='color:#111;'> 679B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_autoconfigure_1_4_2_RELEASE.xml <span style='color:#111;'> 779B </span>","children":null,"spread":false},{"title":"Maven__ch_qos_logback_logback_classic_1_1_7.xml <span style='color:#111;'> 613B </span>","children":null,"spread":false},{"title":"Maven__com_fasterxml_jackson_core_jackson_databind_2_8_4.xml <span style='color:#111;'> 668B </span>","children":null,"spread":false},{"title":"Maven__com_fasterxml_classmate_1_3_3.xml <span style='color:#111;'> 567B </span>","children":null,"spread":false},{"title":"Maven__org_springframework_boot_spring_boot_starter_logging_1_4_2_RELEASE.xml <span style='color:#111;'> 793B </span>","children":null,"spread":false},{"title":"Maven__org_objenesis_objenesis_2_1.xml <span style='color:#111;'> 553B </span>","children":null,"spread":false},{"title":"Maven__com_esotericsoftware_minlog_minlog_1_2.xml <span style='color:#111;'> 588B </span>","children":null,"spread":false},{"title":"Maven__javax_validation_validation_api_1_1_0_Final.xml <span style='color:#111;'> 656B </span>","children":null,"spread":false},{"title":"Maven__io_netty_netty_all_4_0_35_Final.xml <span style='color:#111;'> 596B </span>","children":null,"spread":false},{"title":"Maven__com_fasterxml_jackson_core_jackson_core_2_8_4.xml <span style='color:#111;'> 640B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 261B </span>","children":null,"spread":false},{"title":"netty-im-core","children":[{"title":"pom.xml <span style='color:#111;'> 1.25KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"java","children":[{"title":"com","children":[{"title":"netty","children":[{"title":"im","children":[{"title":"core","children":[{"title":"serialize","children":[{"title":"kryo","children":[{"title":"ThreadLocalKryoFactory.java <span style='color:#111;'> 387B </span>","children":null,"spread":false},{"title":"KryoFactory.java <span style='color:#111;'> 2.57KB </span>","children":null,"spread":false},{"title":"KryoSerializer.java <span style='color:#111;'> 1.18KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"message","children":[{"title":"Message.proto <span style='color:#111;'> 143B </span>","children":null,"spread":false},{"title":"KryoEncoder.java <span style='color:#111;'> 465B </span>","children":null,"spread":false},{"title":"MessageDecoder.java <span style='color:#111;'> 503B </span>","children":null,"spread":false},{"title":"MessageEncoder.java <span style='color:#111;'> 486B </span>","children":null,"spread":false},{"title":"Message.java <span style='color:#111;'> 625B </span>","children":null,"spread":false},{"title":"MessageProto.java <span style='color:#111;'> 23.88KB </span>","children":null,"spread":false},{"title":"KryoDecoder.java <span style='color:#111;'> 497B </span>","children":null,"spread":false}],"spread":false},{"title":"util","children":[{"title":"ByteUtils.java <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"netty-im-core.iml <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]