为了账号安全,请及时绑定邮箱和手机立即绑定

Netty入门之WebSocket初体验

难度中级
时长 1小时20分
学习人数
综合评分8.40
38人评价 查看评价
8.6 内容实用
8.6 简洁易懂
8.0 逻辑清晰
  • 1 SimpleChannelInboundHandler实现

    处理打开、关闭、异常、接收

    2 ChannelInitializer<SocketChannel>类的实现

    initChannel(SocketChannel)

    e.pipeline().addLast("http-codec",new HttpServerCodec());

    e.pipeline()addLast("aggregator", new HttpObjectAggregator(65536);

    e.pipeline().addLast("http-chunked",new ChunkedWriterHandler());

    e.pipeline().addLast("handler",new MyWebSocketHandler());

    websocket启动类,用EventLoopGroup、ServerBootstrap

    ServerBootstrap b=new ServerBootstrap();

    b.group(bossGroup,workGroup);

    b.channel(NioServerSocketChannel.class);

    b.childHandler(new MyWebSocketChannelHandler());

    Channel ch=b.bind(8888).sync().channel();

    ch.closeFuture().sync();

    查看全部
  • java中的IO:BIO、伪异步IO、AIO、NIO

    BIO:一个线程负责连接 、一请求一应答、缺乏弹性伸缩能力(线程数增加后系统性能极具下降);

    伪异步IO:线程池负责连接、M请求N连接、线程池可以是线程资源可控(设置最大连接数等)但是会产生线程池阻塞;

    NIO:缓冲区Buffer(NIO中的数据读写都是通过缓冲区buffer操作)、通道Channel(可以是双向的,流是单向的)、多路复用器Selector(轮询出就绪状态的Channel的集合,可以进行后续的IO操作,没有最大连接数限制);

    AIO:连接注册读写事件和回调函数(事件驱动IO)、读写方法异步(真正的异步非阻塞IO)、主动通知程序


    查看全部
    0 采集 收起 来源:IO通信

    2019-03-04

  • webSocket生命周期

    https://img1.sycdn.imooc.com//5c6f74640001501813020544.jpg

    查看全部
    0 采集 收起 来源:WebSocket入门

    2019-02-22

  • bio:一请求一线程 伪异步:线程池 nio:缓冲区buffer
    查看全部
    0 采集 收起 来源:IO通信

    2019-01-19




  • 客户端个数:

    BIO(同步阻塞IO):一比一

    伪异步IO(同步阻塞IO):M比N

    NIO(同步非阻塞):M比1

    AIO(异步非阻塞):M比0,不需要启动额外线程,被动回调


    查看全部
    0 采集 收起 来源:IO通信

    2019-01-16

  • 存储整个工程的全局配置

    public class NettyConfig{

    存储每一个客户端接入进来时的channel对象

    public static ChannelGroup group = new DefaultChannelGroup(GlobalEventExector.INSTAnce)

    }


    查看全部
  • WebSocket关闭连接

      服务器关闭底层TCP连接

    客户端发起TCP Close

    查看全部
    0 采集 收起 来源:WebSocket入门

    2019-01-16

  • WebSocket生命周期

    • 打开事件

    • 消息事件

    • 错误事件

    • 关闭事件

    查看全部
    0 采集 收起 来源:WebSocket入门

    2019-01-02

  • WebSocket建立连接

    • 客户端发起握手请求

    • 服务器响应请求

    • 连接建立

    查看全部
    0 采集 收起 来源:WebSocket入门

    2019-01-02

  • WebSocket的优点:

    节省通信开销

    服务器主动传送数据给客户端

    实时通信

    查看全部
    0 采集 收起 来源:WebSocket入门

    2019-01-02

  • Netty的优势

    查看全部
    0 采集 收起 来源:Netty入门

    2018-12-30

  • AIO通信:

    连接注册读写事件和回调函数

    读写方法异步

    主动通知程序


    查看全部
    0 采集 收起 来源:IO通信

    2018-12-30

  • NIO通信:

    缓冲区Buffer负责读/写数据

    通道Channel读写同时进行

    多路复用器Selector轮询一个或多个Channel是否可读、可写

    NIO没有最大连接数限制,可以接入成千上万个客户端


    查看全部
    0 采集 收起 来源:IO通信

    2018-12-30

  • 伪异步IO通信:线程池负责连接,M请求N应答,可能造成线程池阻塞

    查看全部
    0 采集 收起 来源:IO通信

    2018-12-30

  • BIO通信:一个线程负责连接,一请求一应答,缺乏弹性伸缩能力


    查看全部
    0 采集 收起 来源:IO通信

    2018-12-30

举报

0/150
提交
取消
课程须知
本课程是Java中高级课程,需熟练掌握Java基本语法和Java IO通信
老师告诉你能学到什么?
1、IO通信 2、原生IO的缺陷和Netty的优势 3、WebSocket生命周期 4、Netty实现WebSocket

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!