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

Netty入门之WebSocket初体验

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

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

    2019-07-21

  • BIO通信:采用BIO模型通信的服务端,通常由一个独立的线程负责监听客户端的连接,它接收到客户端连接请求之后,会对每个客户端创建一个新的线程,进行链路处理,处理完成之后通过输出流返回应答给客户端,此时线程销毁,这就是典型的”一请求一应答“的通信模型。该模型的最大缺点就是:缺乏弹性伸缩能力,当客户端并发访问量增加以后,服务端的线程个数和客户端的并发访问数会成1比1的正比关系,由于线程是Java虚拟机的宝贵系统资源,当线程数膨胀之后,系统的性能就会快速下降。随着并发访问量的继续增大,系统将会发生线程堆栈异常或创建线程失败等问题。最终导致进程宕机或将死,不能对外提供服务。

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

    2019-07-21

  • Netty使用场景:

    高性能领域:比如游戏,大数据分布式计算得以广泛应用

    多线程并发领域:多路复用模型,多线程模型,主从多线程模型

    异步通信领域:

    查看全部
    0 采集 收起 来源:课程介绍

    2019-07-21

  • 什么是Netty?

    Netty是一个高性能事件驱动,异步非阻塞的IO Java开源框架,由Jboss提供,用于建立Tcp等底层的链接,基于Netty可以建立高性能的Http服务器,快速开发高性能、高可靠的网络服务器和客户端程序。支持Http、websocket,tcp,udp等协议。同时Netty又是基于NIO的客户端,服务器端编程框架,使用Netty可以确保快速和简单的开发出一个网络应用。例如实现了某种协议的客户端服务端应用。Netty简化了网络应用的开发过程,比如tcp,udp的socket服务开发。同时Netty提供了非常可靠的稳定性和良好的伸缩性。

    查看全部
    2 采集 收起 来源:课程介绍

    2019-07-21

  • aio通信模型

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

    2019-07-03

  • nio通信模型

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

    2019-07-03

  • 伪异步io通信模型

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

    2019-07-03

  • bio通信模型

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

    2019-07-03

  • bio相关概念

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

    2019-07-03

  • 666


    template class methods

    查看全部
  • epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序有可能缓存IO状态,减少epoll_wait/epoll_pwait的调用,提高应用程序效率。

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

    2019-04-28

  • BIO通信:服务端接收到客户端的请求之后,为每一个客户端创建一个线程进行处理,通过输出流把应答发送给客户端,最后销毁线程。(1对1,阻塞同步的IO)

    伪异步IO通信:当有新的客户端接入的时候,将客户端的socket封装成一个task投递到后端的线程池进行处理,线程池维护一个消息队列和N个活跃的线程,对消息队列中的任务进行相关的处理。(M对N,阻塞同步的IO)

    NIO通信:在面向流的IO中可以将数据直接写入或者将数据直接读到Stream对象中,在NIO中,所有数据都是用缓冲区进行处理的,在读取数据时,直接读缓冲区中,在写入数据时,是直接写入缓冲区中。任何时候处理NIO中的数据时都是通过缓冲区进行操作。网络数据通过Channel读取和写入。selector提供了选择已经就绪的任务的能力,会通过不断轮询在其上的Channel,在某个Channel上面发生读或者写事件,则该Channel处于就绪状态,会被Selector轮询出来,然后获取Channel的集合进行后续的操作。(M对1,非阻塞同步的IO)

    AIO通信:AIO的异步套接自通道,是真正的异步非阻塞IO,对应于Unix网络编程中的事件驱动IO,不需要通过多路复用器对被注册的通道进行轮询操作即可实现异步读写,从而简化NIO的编程模型。(M对0,非阻塞异步IO)


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

    2019-04-18

  • 异步通讯
    查看全部
    0 采集 收起 来源:Netty入门

    2019-03-25

  • 定制,扩展
    查看全部
    0 采集 收起 来源:Netty入门

    2019-03-25

  • JDK的NIO存在select空轮询BUG,不过在jdk1.8中修复了
    查看全部
    0 采集 收起 来源:Netty入门

    2019-03-25

举报

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

微信扫码,参与3人拼团

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

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