网络编程
文章平均质量分 78
developer@liyong
GISer
展开
-
网络编程-Disruptor框架 + Netty整合
Disruptor是一个通用解决方案,用于解决并发编程中的难题(低延迟与高吞吐量)。其本质还是一个队列(环形),与其他队列类似,也是基于生产者消费者模式设计,只不过这个队列很特别是一个环形队列。这个队列能够在无锁的条件下进行并行消费,也可以根据消费者之间的依赖关系进行先后次序消费。原创 2024-02-29 16:58:36 · 927 阅读 · 0 评论 -
网络编程-编码与解码(Protobuf)
Netty 本身自带的 ObjectDecoder 和 ObjectEncoder 可以用来实现 POJO 对象或各种业务对象的编码和解码,但其内部使用的仍是 Java 序列化技术,所以在某些场景下不适用。使用 protobuf 编译器能自动生成代码,Protobuf 是将类的定义使用.proto 文件进行描述,然后通过 protoc.exe 编译器根据.proto 自动成.java 文件在使用 Netty 开发时,经常会结合 Protobuf 作为 codec (编解码器)去使用,具体用法如下所示。原创 2024-02-26 09:55:35 · 989 阅读 · 0 评论 -
网络编程-NIO案例 与 AIO 案例
案例说明:一个简单的群聊实现,支持重复上下线。原创 2024-02-24 20:26:06 · 602 阅读 · 0 评论 -
网络编程-(BIO,NIO,AIO)
这样使得只有在连接真正有读写事件发生时,才会调用函数来进行读写,就大大地减少了系统开销,并且不必为每个连接都创建一个线程,不用去维护多个线程,并且避免了多线程之间的上下文切换导致的开销.类似于 BIO 中的 stream用来建立到目标(文件,网络套接字,硬件设备等)的一个连接,但是需要注意:BIO 中的 stream 是单向的,(InputStream,OutputStream ),而 NIO 中的通道(Channel)是双向的, 既可以用来进行读操作,也可以用来进行写操作。转载 2024-02-22 16:37:16 · 23 阅读 · 0 评论