草庐IT

Netty-NIO

全部标签

NIO 实现非阻塞 Socket 通讯,NIO 实现多人聊天室的案例

NIO实现多人聊天室的案例服务端importjava.io.IOException;importjava.net.InetSocketAddress;importjava.nio.ByteBuffer;importjava.nio.channels.*;importjava.nio.charset.Charset;/***聊天室服务端*/publicclassNServer{privateSelectorselector=null;staticfinalintPORT=30000;privateCharsetcharset=Charset.forName("UTF-8");ServerSock

NIO 实现非阻塞 Socket 通讯,NIO 实现多人聊天室的案例

NIO实现多人聊天室的案例服务端importjava.io.IOException;importjava.net.InetSocketAddress;importjava.nio.ByteBuffer;importjava.nio.channels.*;importjava.nio.charset.Charset;/***聊天室服务端*/publicclassNServer{privateSelectorselector=null;staticfinalintPORT=30000;privateCharsetcharset=Charset.forName("UTF-8");ServerSock

【Netty系列・中级篇】序列化算法优化、参数优化、RPC设计与实现

文章目录1扩展序列化算法2参数调优1)CONNECT_TIMEOUT_MILLIS2)SO_BACKLOG3)ulimit-n4)TCP_NODELAY5)SO_SNDBUF&SO_RCVBUF6)ALLOCATOR7)RCVBUF_ALLOCATOR3RPC框架1)准备工作2)服务器handler3)客户端代码第一版4)客户端handler第一版5)客户端代码第二版6࿰

【Netty系列・中级篇】序列化算法优化、参数优化、RPC设计与实现

文章目录1扩展序列化算法2参数调优1)CONNECT_TIMEOUT_MILLIS2)SO_BACKLOG3)ulimit-n4)TCP_NODELAY5)SO_SNDBUF&SO_RCVBUF6)ALLOCATOR7)RCVBUF_ALLOCATOR3RPC框架1)准备工作2)服务器handler3)客户端代码第一版4)客户端handler第一版5)客户端代码第二版6࿰

NIO 缓冲区

摘要    Java提供了NIO操作的API,但真正处理NIO流,经常会出现如下代码:SocketChannelchannel=(SocketChannel)key.channel();ByteBufferbuffer=ByteBuffer.allocate(1024);while(channel.read(buffer)!=-1){//复位,转化为读模式buffer.flip();while(buffer.hasRemaining()){System.out.println("收到客户端"+channel.socket().getPort()+"的信息:"+StandardCharsets.

NIO 缓冲区

摘要    Java提供了NIO操作的API,但真正处理NIO流,经常会出现如下代码:SocketChannelchannel=(SocketChannel)key.channel();ByteBufferbuffer=ByteBuffer.allocate(1024);while(channel.read(buffer)!=-1){//复位,转化为读模式buffer.flip();while(buffer.hasRemaining()){System.out.println("收到客户端"+channel.socket().getPort()+"的信息:"+StandardCharsets.

Netty 的 内存池 是如何实现的

对于今天的源码剖析,你可以带着下面这么几个问题:1PoolArena中的PoolSubpage数组和PoolChunk中的PoolSubpage数组有什么关联?2PoolThreadCache中的MemoryRegionCache数组与PoolSubpage是否有联系?3Netty内存池的整体结构是什么样的?4如果让你来介绍Netty内存池,你如何来描述?内存池源码剖析调试用例上一节,我们说了Netty根据请求的大小将其分成四类:Tiny、Small、Normal、Huge,这四类请求的分界线分别为512B、8KB、16MB,针对这四类请求,Netty的处理逻辑并不一样,但是,本节,我们并不打

Netty 的 内存池 是如何实现的

对于今天的源码剖析,你可以带着下面这么几个问题:1PoolArena中的PoolSubpage数组和PoolChunk中的PoolSubpage数组有什么关联?2PoolThreadCache中的MemoryRegionCache数组与PoolSubpage是否有联系?3Netty内存池的整体结构是什么样的?4如果让你来介绍Netty内存池,你如何来描述?内存池源码剖析调试用例上一节,我们说了Netty根据请求的大小将其分成四类:Tiny、Small、Normal、Huge,这四类请求的分界线分别为512B、8KB、16MB,针对这四类请求,Netty的处理逻辑并不一样,但是,本节,我们并不打

使用Netty框架完成客户端和服务端收发Protobuf消息

前言本周继续学习尼恩编著的《Netty、Redis、ZooKeeper高并发实战》,一些资源也贴在这里,自己以后想看还可以找到,这个是在博客园的一个入口https://www.cnblogs.com/crazymakercircle/p/9904544.html。这周主要学习了Netty客户端和服务端通信,书是由浅入深的在进行,从SocketNOI通信到Reactor反应器模式,再到Netty框架,示例代码都在https://gitee.com/crazymaker/netty_redis_zookeeper_source_code.git中可以看到,书结合源代码,自己在动手试验一下,感觉还是

使用Netty框架完成客户端和服务端收发Protobuf消息

前言本周继续学习尼恩编著的《Netty、Redis、ZooKeeper高并发实战》,一些资源也贴在这里,自己以后想看还可以找到,这个是在博客园的一个入口https://www.cnblogs.com/crazymakercircle/p/9904544.html。这周主要学习了Netty客户端和服务端通信,书是由浅入深的在进行,从SocketNOI通信到Reactor反应器模式,再到Netty框架,示例代码都在https://gitee.com/crazymaker/netty_redis_zookeeper_source_code.git中可以看到,书结合源代码,自己在动手试验一下,感觉还是