Netty
文章平均质量分 86
吸引力的觉悟
这个作者很懒,什么都没留下…
展开
-
Netty入门应用
Netty入门应用 Netty是业界最流行的NIO框架之一,它的健壮性,功能,性能,可定制性和可扩展性在同类框架中都是首屈一指的,它已经得到成百上千的商用项目验证,例如hadoopRPC框架的avro使用netty作为底层通信框架,很多其他业界主流的RPC框架,也使用netty来构建高性能的异步通信能力。 开发Netty入门应用之前我们先了解一下NIO服务端开发的步骤,如下图所示原创 2017-07-11 15:36:27 · 299 阅读 · 0 评论 -
Netty之握手和安全认证
Netty之握手和安全认证 握手的发起是在客户端和服务端TCP链路建立成功通道激活时,握手消息的接入和安全认证在服务端处理。一. 握手认证的客户端ChannelHandler 握手认证的客户端ChannelHandler,用于在通道激活时发起握手请求package aggrement; import java.awt.TrayIcon.MessageType;原创 2017-07-24 13:20:35 · 10153 阅读 · 2 评论 -
Netty之WebSocket协议开发
Netty之WebSocket协议开发一.WebSocket定义 websocket是html5开始提供的一种浏览器与服务器间进行全双工通信的网络技术,websocket通信协议于2011年被IETF定为标准RFC6455,websocket API被W3C定位标准。 在websocket API中,浏览器与服务器只需要做一个握手的动作,然后,浏览器和服务器原创 2017-07-17 13:02:11 · 483 阅读 · 0 评论 -
Netty之HTTP+XML编解码框架开发
Netty之HTTP+XML编解码框架开发一.HTTP+XML请求消息编码类 对于上层业务,构造订购请求消息后,以HTTP+XML协议将消息发送给服务端,如果要实现对业务零侵入或者尽可能少的侵入看,协议层和应用层应该解耦。 考虑到HTTP+XML协议栈需要一定的定制扩展能力,例如通过HTTP消息头携带业务自定义字段,应该允许业务利用Netty的HTTP协议栈接口自行构造私有原创 2017-07-14 08:58:11 · 1911 阅读 · 0 评论 -
Netty的HTTP协议开发
Netty的HTTP协议开发 由于netty天生是异步事件驱动的架构,因此基于NIO TCP协议栈开发的HTTP协议栈也是异步非阻塞的。 Netty的HTTP协议栈无论在性能还是可靠性上,都表现优异,非常适合在非web容器的场景下应用,相比于传统的tomcat,jetty等web容器,它更轻量和小巧。一.HTTP服务端开发1.1 HttpFileServer实现p原创 2017-07-14 08:56:36 · 440 阅读 · 0 评论 -
Netty之Jboss Marshalling编解码
Netty之JbossMarshalling编解码 JbossMarshalling是一个java对象序列化包,对JDK默认的序列化框架进行了优化,但又保持跟java.io.Serializable接口的兼容,同时增加了一些可调的参数和附加的特性,这些参数和特性可通过工厂类进行配置。一.服务端开发1.1 SubReqServer实现package marshalling;原创 2017-07-13 16:29:19 · 897 阅读 · 1 评论 -
Netty的protobuf的图书订购服务端开发
Netty的protobuf的图书订购服务端开发一.Protobuf简介Google的protobuf在业界非常流行,很多商业项目选择protobuf作为编解码框架。它是一个灵活,高效,结构化的数据序列化框架,相比于XML等传统的序列化工具,它更快,更小,更简单。支持数据结构化一次可以到处使用。二. Protobuf编解码开发package protobuf; import原创 2017-07-13 16:28:19 · 422 阅读 · 0 评论 -
Netty的java序列化实现
Netty的java序列化实现一.java序列化开发1.1 服务端的开发1.1.1 使用netty对POJO对象进行序列化package serializable; import java.io.Serializable;/* * 对POJO对象进行序列化 ,订购请求POJO */public class SubscribeReq implementsSer原创 2017-07-13 16:24:28 · 879 阅读 · 0 评论 -
Netty中分隔符和定长解码器的应用
一.使用DelimiterBasedFrameDecoder自动完成以分隔符作为结束标志的解码1.1 DelimiterBasedFrameDecoder服务端开发1.1.1 EchoServer实现import io.netty.bootstrap.ServerBootstrap;import io.netty.buffer.ByteBuf;import io.netty.b原创 2017-07-13 10:14:51 · 313 阅读 · 0 评论 -
Netty解决TCP粘包/拆包导致的半包读写问题
一.TCP粘包/拆包问题说明 TCP是个“流”协议,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包拆分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。二.利用LinedBasedFrameDecoder解决TCP粘包问题 为了原创 2017-07-12 08:57:44 · 5113 阅读 · 0 评论 -
Netty之私有协议栈开发
Netty之私有协议栈开发一.私有协议介绍 私有协议本质上是厂商内部发展和采用的标准,除非授权,其他厂商一般无权使用该协议。私有协议也称非标准协议,就是未经国际或国家标准化组织采纳或批准,由某个企业自己制定,协议实现细节不愿公开,只在企业自己生产的设备之间使用的协议。 事实上,私有协议并没有标准定义,只有是能够用于跨进程,跨主机数据交换的非标准协议,都可以称为私有协议,通常原创 2017-07-25 09:05:14 · 770 阅读 · 1 评论