
网络编程
文章平均质量分 90
网络编程
xiaolin0333
在运气还没光临的时候,就保有一个好心态。
展开
-
WebSocket
编程式:继承并实现其方法注解式:定义一个POJO类,并添加注解。原创 2025-05-30 20:57:02 · 457 阅读 · 1 评论 -
【netty】- 优化
写一个枚举类来管理不同的序列化和反序列化方式其中:序列化方式是从配置文件中读取,读取后通过枚举的对象转换为byte。原创 2025-05-28 21:38:13 · 1044 阅读 · 0 评论 -
【Netty】- 聊天室1(基础实现)
场景】:用户A发送消息给用户B。原创 2025-05-26 22:16:19 · 752 阅读 · 0 评论 -
【Netty】- 进阶
魔数:永安里第一时间断定是否是无效数据包(一般在头几个字节)版本号:可以支持协议的升级序列化算法:消息正文使用哪种反序列化方式(json、protobuf、hessian、jdk…)指令类型(登录、注册、单聊、群聊…)请求序号:为了双方通信时提供异步能力正文长度消息正文@Slf4j/*** 编码器,最好固定字符要是2的整数倍*/@Override// 1. 魔数:4字节的魔数// 2. 版本:1字节/*3. 序列化算法:1字节0 - jdk1 - json。原创 2025-05-26 16:29:19 · 585 阅读 · 0 评论 -
【Netty】- 入门2
netty中的Future是继承自jdk中的Future;netty中的Promise接口是继承自netty中的Future接口。原创 2025-05-21 21:14:36 · 661 阅读 · 0 评论 -
【Netty】- 入门1
Netty里很多方法都是异步的(有点类似于CPU的流水线),如果碰到需要异步处理时,可以考虑以上几种方式单线程没法提高效率,必须配合多线程、多核CPU才能发挥异步的优势异步并没有缩短响应时间,反而有所增加合理进行任务拆分也是异步的关键。原创 2025-05-21 11:10:58 · 714 阅读 · 0 评论 -
【Netty】- NIO基础2
但是如果selector没有处理该事件,selector会一直认为上一次的事件还没处理,就还会处理上一次的事件(表现:一直轮询处理上一次的事件)因此如果同一个客户端再发第二次数据,并不会收到第二次发送的数据,因为此时没有新的连接建立,代码已经被阻塞在ssc.accept()这里了。如果selector已经处理过事件,那么下次再来事件时,selector就会认为上一次的事件已经处理过,就会处理新的事件。selector会在发生事件后,向selectionKeys中加入key,但是不会删除。原创 2025-05-20 14:25:47 · 597 阅读 · 0 评论 -
【Netty】- NIO基础1
selector就是配合一个线程来管理多个channel,可以管理多个channel,获取这些channel上发生的事件,channel工作在非阻塞模式下,不会让线程吊死在一个channel上。Buffer类似内存缓冲区,暂存从Channel读取的数据,可以从。通过reset()将position重置到mark()做标记的位置。当写了a、b、c、d数据后,position指针也会往后移动。当切换为读模式,position指针回到最开始的状态。,也可以将Buffer的数据写入Channel。原创 2025-03-10 17:59:59 · 647 阅读 · 0 评论