摘要:
var code = "f9bd4fab-3049-4bc6-b296-aa870302dee1" 阅读全文
摘要:
var code = "f9bd4fab-3049-4bc6-b296-aa870302dee1" 1 产生原因 TCP是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务端)都要有一一成对的socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化算法(Nagle 阅读全文
摘要:
1 编码和解码 编写网络应用程序时,因为数据在网络传输的都是二进制字节码数据,在发送数据时进行编码,在接受数据时进行解码 codec(编码器)的组成部分有2个:decoder(解码器)和encoder(编码器)。encoder负责将数据转换为字节码数据,而decoder负责将字节码数据转为业务数据 阅读全文
摘要:
为什么要引入心跳机制: 因为网络连接是不可靠的,像在TCP长连接或者webSocket长连接时都会使用心跳机制,即发送特殊的数据包告诉自己的业务没办完,不要关闭连接。 案例要求: 当服务器超过3秒没有读时,就提示读空闲 当服务器超过5秒没有写时,就提示写空闲 当服务器超过7秒没有读写时,就提示读写空 阅读全文
摘要:
1设计思路: 启动一个服务端,多个客户端 第一个客户端启动时,会告诉服务器上线了 第二个客户端启动时,告诉服务器上线,并且通知第一个启动的客户端 第三个客户端启动时,告诉服务器上线,并且通知第一个和第二个启动的客户端 其中一个客户端离开时,通知其它客户单端和服务端 2 代码 服务端: import 阅读全文
摘要:
功能: Netty服务器在6668端口监听,浏览器发出请求"http://localhost:6668" 服务器可以恢复消息给浏览器:“hello,我是服务器”,并对特定请求资源进行过滤 目的: Netty可以做服务器端开发,并且理解handle实例和客户端及其请求的关系. 服务端代码(Server 阅读全文
摘要:
当Future刚刚创建时,处于非完成状态,调用者可以通过返回的ChannelFuture来获取操作执行的状态,注册监听函数来执行完成后的操作。 常见如下操作 通过isDone方法判断操作是否完成 通过isSuccess方法判断当前已完成的操作是否成功 通过getCause方法获取已完成的当前操作失败 阅读全文
摘要:
接上一篇博客: 前面我们说过NioEventLoopGroup相当于一个事件循环组,这个组中包含多个事件循环,每一个事件循环都是EventLoopGroup,而EventLoopGroup中有2个重要的属性:Selector和TaskQueue。 事件循环(NioEventLoop) 的过程中,我们 阅读全文
摘要:
1 netty概述 netty概述: Netty是由JBoss提供的一个java开源框架。Netty提供异步的、基于事件驱动的网络应用程序框架,用一开发高性能,高可靠的io程序 Netty可以帮助你快速、简单构建一个网络应用,相当于简化和流程化了NIO的开发过程 Netty是目前最流行的NIO框架, 阅读全文
摘要:
public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); System.out.println("今天起始时间"+now.with(LocalTime.MIN)); System.out.pri 阅读全文