自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Netty - WebSocket协议

前言websockt是需要依赖http1.1 然后返回其响应码101 再开始由http协议转为 webSocket1、MyServer/** * @author wzcstart * @date 2021/6/30 - 1:49 */public class MyServer { public static void main(String[] args) throws Exception{ EventLoopGroup bossGroup = new Ni

2021-08-31 20:07:53 237

原创 Netty - HTTP 服务

前言1、TestServer.javapackage com.guiguixia.netty.http;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.EventLoopGroup;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.so

2021-08-31 20:07:02 107

原创 Netty(下)

1、Google Protobuf1.1、编解码器基本介绍1.2、Netty本身编解码器机制及问题分析1.3、Protobuf1.4、Protobuf快速入门案例1.4.1、Student.protosyntax="proto3";option java_outer_classname = "StudentPOJO";//生成的外部类名,同时也是文件名//protobuf 使用message 管理数据message Student{//会在外部类 St

2021-08-31 20:06:15 101

原创 Netty(中)

1、Netty模型1.1、简单原理示意图1.2、示意图解释1.3、原理示意图进阶版1.4、原理示意图最终版1.5、示意图解释2、Netty快速入门案例 - TCP服务2.1、NettyServer/** * @author wzcstart * @date 2021/6/23 - 23:51 */public class NettyServer { public static void main(String[] args) th

2021-08-31 20:05:43 93

原创 Netty(上)

前言Netty是基于Reactor主从模式来的1、线程模式基本简介2、传统阻塞 I/O 服务模式2.1、工作原理图2.2、问题分析3、Reactor模式Reactor模式又叫Dispatch模式3.1、解决传统 I/O 服务模型两个缺点3.2、原理示意图3.4、Reactor模式分类4、单Reactor单线程4.1、原理示意图4.2、方案说明4.3、方案优缺点5、单Reactor多线程5.1、原理示意

2021-08-31 20:05:01 72

原创 NIO群聊系统

GroupChatServerpackage com.guiguixia.nio.groupchat;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Set;/** * 群聊系统服务端 * @author wzcst

2021-08-31 20:04:18 80

原创 IO模型(NIO、BIO、AIO)

前言通过图解简单介绍IO模型1、BIO - 同步阻塞IOJava BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销1.1、BIO编程简单流程服务器端启动一个ServerSocket客户端启动Socket对服务器进行通信,默认情况下服务器端需要对每个客户 建立一个线程与之通讯 客户端发出请求后, 先咨询服务器是否有线程响应,如果没有则会等待,或者被拒绝如果

2021-08-31 20:03:16 229

原创 Netty实现RPC

1、介绍RPC(Remote Procedure Call)— 远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 两个或多个应用程序都分布在不同的服务器上,它们之间的调用都像是本地方法调用一样(如图)常见的 RPC 框架有: 比较知名的如阿里的Dubbo、google的gRPC、Go语言的rpcx、Apache的thrift, Spring 旗下的 Spring Cloud。2、RPC调用流程2.1、调用流程

2021-08-31 19:59:43 310

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除