
Netty
闻道☞
学习是最好的修行
展开
-
Netty之TCP连接之负载均衡
方案01:(发服务器)1、 设备请求分发服务器,分发服务器返回有效的socket服务器ip与port,然后断开连接。a) 设备与服务器建立连接。b) 服务器接收到连接请求后,立即将分配好的socket服务器ip与port信息响应给设备。c) 服务器主动断开socket连接。2、 设备得到ip与port以后,设备去连接socket服务器,然后与其进行协议通讯。a) 设备连接到socket服务器。b) socket服务器响应连接成功响应信息。c) 设备与socket服务器保持长链接通讯。若设备原创 2021-11-01 16:06:05 · 2902 阅读 · 0 评论 -
Netty之TCP粘包/拆包(三)
TCP粘包、拆包问题TCP是个“流”协议,所谓流,就是没有界限的一串数据。大家可以想想河里的流水,它们是连成一片的,其间并没有分界线。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。TCP粘包/拆包发生的原因1.应用...原创 2018-01-31 18:08:03 · 484 阅读 · 0 评论 -
Netty之编解码技术(四)
通常我们习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。反之,解码(Decode)称为反序列化(deserialization),它把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作。Java序列化相信大多数Java程序员接触到的第一种序列化或者编解码技术就是Java默认...原创 2018-02-01 11:32:43 · 7688 阅读 · 0 评论 -
Netty之私有协议栈开发(五)
广义上区分,通信协议可以分为公有协议和私有协议。由于私有协议的灵活性,它往往会在某个公司或者组织内部使用,按需定制,也因为如此,升级起来会非常方便,灵活性好。绝大多数的私有协议传输层都基于TCP/IP,所以利用Netty的NIO/TCP协议栈可以非常方便地进行私有协议的定制和开发。私有协议本质上是厂商内部发展和采用的标准,除非授权,其他厂商一般无权使用该协议。私有协议也称非标准协议,就是未经国际或...原创 2018-02-02 16:57:40 · 3104 阅读 · 2 评论 -
Socket,NIO,AIO基本概念(一)
多种IO方式的比较:1、BIO(同步阻塞IO)使用ServerSocket绑定IP地址和监听端口,客户端发起连接,通过三次握手建立连接,用socket来进行通信,通过输入输出流的方式来进行同步阻塞的通信每次客户端发起连接请求,都会启动一个线程。线程数量:客户端并发访问数为1:1,由于线程是Java虚拟机中非常宝贵的资源,一旦线程数急剧增加,系统性能会急剧下降,导致线程栈溢出,创建新的线...原创 2017-01-13 10:25:27 · 4031 阅读 · 0 评论 -
Netty基础入门(二)
原文:http://blog.youkuaiyun.com/haoyuyang/article/details/53243785参考:http://wiki.jikexueyuan.com/project/netty-4-user-guide/1.为什么选择Netty上一篇文章我们已经了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。其实上一篇文章中,我们学习的仅仅是一个...转载 2017-01-13 10:50:08 · 1516 阅读 · 0 评论 -
一个轻量级分布式RPC框架--NettyRpc(六)
1、背景最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章《轻量级分布式 RPC 框架》,作者用Zookeeper、Netty和Spring写了一个轻量级的分布式RPC框架。花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo。这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下。本人在这个简易版的RPC上添加了如下特性:...转载 2018-02-06 16:49:33 · 415 阅读 · 0 评论