Netty
文章平均质量分 65
zhp_coder
这个作者很懒,什么都没留下…
展开
-
Netty 时间轮算法实现HashedWheelTimer
1.HashedWheelTimer 参数解析public HashedWheelTimer( ThreadFactory threadFactory, long tickDuration, TimeUnit unit, int ticksPerWheel, boolean leakDetection, long maxPendingTime原创 2017-10-30 14:19:31 · 7331 阅读 · 0 评论 -
@Sharable 注解作用
@Sharable 注解用来说明ChannelHandler是否可以在多个channel直接共享使用。下面我们做一个实验。1.Channel共享ChannelHandler对象。但是这个ChannelHandler没有添加@Sharable注解public static void start() throws InterruptedException { final Ech原创 2017-11-03 09:55:11 · 23809 阅读 · 0 评论 -
Netty 需要注意的细节
SimpleChannelInboundHandler 实现了channelRead 方法,使用了模版模式,最后有一个释放资源的动作。@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { boolean release = true; try {原创 2017-11-03 11:14:51 · 498 阅读 · 0 评论 -
Netty websocket 实现服务端推送消息
当握手完成时,将channel加入到ChannelGroup中,当发生异常或失活的时候,将channel从ChannelGroup中移除。ChannelGroup维护着所有活动着的链接,使用ChannelGroup向所有Channel推送消息。package netty.pushmsg;import io.netty.channel.ChannelHandlerContext;翻译 2017-11-28 11:02:31 · 7433 阅读 · 1 评论 -
空闲连接检查以及超时的ChannelHandler
IdleStateHandler:当连接空闲时间太长时,将会触发一个IdleStateEvent事件。然后你可以通过在你的ChannlInboundHandler中重写userEventTriggered()方法来处理该IdleStateEvent事件。ReadTimeoutHandler:如果在指定时间间隔内没有收到任何的入站数据,则抛出一个ReadTimeoutException并关闭翻译 2017-11-28 14:22:34 · 1412 阅读 · 0 评论 -
Netty NIO 源码分析
首先我们写一个单线程的代码模型:package com.zhp.springbootstreamdemo.net;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import j原创 2018-01-25 17:43:07 · 408 阅读 · 0 评论