展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

随笔分类 -  后端

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页
摘要:jdk8之前 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Main { public static void main(String[] args) throws Exception { BAS 阅读全文
posted @ 2022-08-23 16:45 DogLeftover 阅读(60) 评论(0) 推荐(0)
摘要:默认方法:接⼝⾥⾯定义⼀个默认⽅法,这个接⼝的实现类实现了这个接⼝之后,不⽤管这个default修饰的⽅法就可以直接调⽤,即接⼝⽅法的默认实现 静态方法:静态⽅法: 接⼝名.静态⽅法来访问接⼝中的静态⽅法 编写接口 public interface Animal { void run(); void 阅读全文
posted @ 2022-08-23 14:31 DogLeftover 阅读(54) 评论(0) 推荐(0)
摘要:传入数组 @PostMapping("/delUsers") public JSONResult delUsers(@RequestParam List<String> userIds) { int i = userMapper.deleteBatchIds(userIds); return new 阅读全文
posted @ 2022-08-19 11:00 DogLeftover 阅读(44) 评论(0) 推荐(0)
摘要:参考1 参考2 参考3 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.7.0</vers 阅读全文
posted @ 2022-08-12 13:25 DogLeftover 阅读(33) 评论(0) 推荐(0)
摘要:简介 1) 使用自定义协议 + 编解码器 来解决 2) 关键就是要解决 服务器端每次读取数据长度的问题, 这个问题解决,就不会出现服务器多读或少读数据的问题,从而避免的TCP 粘包、拆包 实现效果 1) 要求客户端发送5个Message对象, 客户端每次发送一个Message对象 2) 服务器端每次 阅读全文
posted @ 2022-08-11 11:48 DogLeftover 阅读(98) 评论(0) 推荐(0)
摘要:简介 1) TCP是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据, 合并成一个大的数据块,然后进行封包。这样做虽然提高了效率, 阅读全文
posted @ 2022-08-11 11:44 DogLeftover 阅读(40) 评论(0) 推荐(0)
摘要:添加依赖 # maven项目 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org. 阅读全文
posted @ 2022-08-09 17:45 DogLeftover 阅读(20) 评论(0) 推荐(0)
摘要:解码器 ReplayingDecoder 1) public abstract class ReplayingDecoder<S> extends ByteToMessageDecoder 2) ReplayingDecoder扩展了ByteToMessageDecoder类,使用这个类,我们不必调 阅读全文
posted @ 2022-08-09 17:42 DogLeftover 阅读(25) 评论(0) 推荐(0)
摘要:使用自定义的编码器和解码器来说明Netty的handler 调用机制,客户端发送long 到服务器 MyServer public class MyServer { public static void main(String[] args) throws Exception{ EventLoopG 阅读全文
posted @ 2022-08-09 17:02 DogLeftover 阅读(75) 评论(0) 推荐(0)
摘要:1) netty的组件设计:Netty的主要组件有Channel、EventLoop、ChannelFuture、ChannelHandler、ChannelPipe等 2) ChannelHandler充当了处理入站和出站数据的应用程序逻辑的容器。例如,实现ChannelInboundHandle 阅读全文
posted @ 2022-08-09 16:05 DogLeftover 阅读(94) 评论(0) 推荐(0)
摘要:简介 1) 客户端可以随机发送Student PoJo/ Worker PoJo 对象到服务器 (通过 Protobuf 编码) 2) 服务端能接收Student PoJo/ Worker PoJo 对象(需要判断是哪种类型),并显示信息(通过 Protobuf 解码) 编写Student.prot 阅读全文
posted @ 2022-08-09 15:01 DogLeftover 阅读(189) 评论(0) 推荐(0)
摘要:简介 1) 客户端可以发送一个Student PoJo 对象到服务器 (通过 Protobuf 编码) 2) 服务端能接收Student PoJo 对象,并显示信息(通过 Protobuf 解码) 导入依赖 # maven <dependency> <groupId>com.google.proto 阅读全文
posted @ 2022-08-09 14:22 DogLeftover 阅读(87) 评论(0) 推荐(0)
摘要:简介 1) 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 2) codec(编解码器) 的组成部分有两个:decoder(解码器)和 encoder(编码器)。encoder 负责把业务数据转换成字节码数据,decoder 负责把字节码 阅读全文
posted @ 2022-08-09 14:20 DogLeftover 阅读(183) 评论(0) 推荐(0)
摘要:简介 1) Http协议是无状态的, 浏览器和服务器间的请求响应一次,下一次会重新创建连接. 2) 实现基于webSocket的长连接的全双工的交互 3) 改变Http协议多次请求的约束,实现长连接了, 服务器可以发送消息给浏览器 4) 客户端浏览器和服务器端会相互感知,比如服务器关闭了,浏览器会感 阅读全文
posted @ 2022-08-09 13:19 DogLeftover 阅读(56) 评论(0) 推荐(0)
摘要:1) 编写一个 Netty心跳检测机制案例, 当服务器超过3秒没有读时,就提示读空闲 2) 当服务器超过5秒没有写操作时,就提示写空闲 3) 实现当服务器超过7秒没有读或者写操作时,就提示读写空闲 编写服务端 public class MyServer { public static void ma 阅读全文
posted @ 2022-08-09 11:08 DogLeftover 阅读(32) 评论(0) 推荐(0)
摘要:编写服务端 public class GroupChatServer { private int port; //监听端口 public GroupChatServer(int port) { this.port = port; } //编写run方法,处理客户端的请求 public void ru 阅读全文
posted @ 2022-08-09 10:23 DogLeftover 阅读(21) 评论(0) 推荐(0)
摘要:Netty 提供一个专门用来操作缓冲区(即Netty的数据容器)的工具类 常用方法 //通过给定的数据和字符编码返回一个 ByteBuf 对象(类似于 NIO 中的 ByteBuffer 但有区别) public static ByteBuf copiedBuffer(CharSequence st 阅读全文
posted @ 2022-08-09 09:05 DogLeftover 阅读(30) 评论(0) 推荐(0)
摘要:ChannelHandlerContext 1) 保存 Channel 相关的所有上下文信息,同时关联一个 ChannelHandler 对象 2) 即ChannelHandlerContext 中 包 含 一 个 具 体 的 事 件 处 理 器 ChannelHandler,同 时ChannelH 阅读全文
posted @ 2022-08-08 23:19 DogLeftover 阅读(17) 评论(0) 推荐(0)
摘要:ChannelPipeline 1) ChannelPipeline 是一个 Handler 的集合,它负责处理和拦截 inbound 或者 outbound 的事件和操作,相当于一个贯穿 Netty 的链。 (也可以这样理解:ChannelPipeline 是 保存 ChannelHandler 阅读全文
posted @ 2022-08-08 23:16 DogLeftover 阅读(87) 评论(0) 推荐(0)
摘要:Bootstrap、ServerBootstrap 1) Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件, Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 阅读全文
posted @ 2022-08-08 17:52 DogLeftover 阅读(48) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页