
netty学习
阿萨德执行
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
直接缓冲区与非直接缓冲区
非直接缓冲区:NIO通过通道连接磁盘文件与应用程序,通过缓冲区存取数据进行双向的数据传输。物理磁盘的存取是操作系统进行管理的,与物理磁盘的数据操作需要经过内核地址空间;而我们的Java应用程序是通过JVM分配的缓冲空间。有点雷同于一个属于核心态,一个属于应用态的意思,而数据需要在内核地址空间和用户地址空间,在操作系统和JVM之间进行数据的来回拷贝,无形中增加的中间环节使得效率与后面要提的之间缓...原创 2019-07-30 18:27:08 · 673 阅读 · 0 评论 -
Netty-使用websocket进行通讯
WebSocketWebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接...原创 2020-01-06 14:18:00 · 1112 阅读 · 0 评论 -
Netty-使用http进行通讯
具体原理解析:https://blog.youkuaiyun.com/xiangzhihong8/article/details/52029446/0 netty与tomcat的异同摘自https://www.oschina.net/question/1765708_158026我的架构最开始是 nginx + [netty (tcp) ...] 用nginx做负载均衡。后来分布式接口变成了h...原创 2020-01-02 10:24:08 · 2012 阅读 · 0 评论 -
Netty-protobuf的使用-2.使用protobuf进行netty通信
1、两个protobuf配置文件option java_outer_classname="RespProto";message SubscribeResp{ required int32 subID = 1; required string userName = 2; required string productName = 3; required string mess...原创 2019-12-31 11:03:03 · 305 阅读 · 0 评论 -
Netty-protobuf的使用-1.基础
1、protobuf使用方法简介1.下载protobuf的执行文件 protoc-2.6.1-win32https://github.com/protocolbuffers/protobuf/releases/tag/v2.6.12.书写".proto"文件现阶段是一段代码一个文件option java_outer_classname="SubscribeRespProto"...原创 2019-12-31 10:46:55 · 141 阅读 · 1 评论 -
Netty-MessagePack编解码
1、MessagePack API 介绍package com.suirui.messagepack.entity;public class Person { private String name; private int age; private boolean sex; public Person(){} public P...原创 2019-12-27 14:09:03 · 271 阅读 · 0 评论 -
Netty-粘包和拆包与解决方式
粘包与拆包解释: TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了...原创 2019-12-26 17:06:51 · 369 阅读 · 0 评论 -
Netty-搭建简单事件服务器
1、服务端:package com.suirui.server;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption...原创 2019-12-26 16:29:08 · 176 阅读 · 0 评论 -
IO基础知识——3、NIO之Selector详解
3 NIO之Selector详解Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。3.1Selector的创建通过调用Selector.open()方法创建一个Selector,如下:Selector selector = Selecto...转载 2019-08-15 11:46:13 · 417 阅读 · 0 评论 -
IO基础知识——2、Java NIO之Buffer、Channel
2、Java NIO之Buffer、Channel目录2、NIO之Buffer、Channel2.1 Buffer类2.2 FileChannel2.3.SocketChannel2.3.1 打开 SocketChannel2.3.2 从 SocketChannel 读取数据2.3.3写入 SocketChannel2.3.4非阻塞模式2.4 Serv...转载 2019-08-15 11:45:16 · 282 阅读 · 0 评论 -
Reactor模式详解---单线程
传统网络服务首先得说一说经典的网络服务的设计伪代码:class Server implements Runnable { public void run() { try {//创建socket server套接字ServerSocket ss = new ServerSocket(PORT);while (!Thread.interrupted())//启动额...转载 2019-08-19 20:09:28 · 917 阅读 · 0 评论 -
IO基础知识——1、BIO、NIO、多路复用、AIO
目录1、BIO、NIO、多路复用、AIO1.1 概念说明1.2I/O模型1.2.1 Blocking I/O1.2.2 Non-blocking I/O1.2.3 I/O multiplexing1.2.4信号驱动IO本系列文章从IO基础到使用JAVA NIO实现Reactor模式,记录这几天学习的内容,其中网络借鉴较多(优选了作者TheLudlows的内容博文...转载 2019-08-05 10:25:45 · 835 阅读 · 0 评论