简介 目录 评价 推荐
  • 政晓橙 2021-10-17

    http://img4.mukewang.com/616c47770001435d12600858.jpg


    ————————————————————————————————


    http://img2.mukewang.com/616c483000011a9313900944.jpg


    ——————————————————————————————————


    http://img4.mukewang.com/616c48520001609515400832.jpg

    0赞 · 0采集
  • 鱼七4560792 2021-08-11

    一、什么是Netty:

    二、Netty使用场景:

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket 客户端js 脚本实现

    js 结构

    http://img2.mukewang.com/60e6b879000136cb09020528.jpg

    具体实现

    http://img2.mukewang.com/60e6b8db0001bbb209220523.jpg

    关闭连接

    http://img1.mukewang.com/60e6b90900010c5308920525.jpg

    发送消息

    http://img1.mukewang.com/60e6b94d0001e99009340523.jpg


    绑定时间

    http://img4.mukewang.com/60e6b96400015a6208970525.jpg



    效果

    http://img1.mukewang.com/60e6b98d0001152308870431.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    客户端代码,html

    框架

    http://img4.mukewang.com/60e6b80800017a9909010519.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket 启动类的实现

    框架

    http://img1.mukewang.com/60e6b6e60001e53e09180525.jpg

    具体实现

    http://img2.mukewang.com/60e6b72d0001f13309110529.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket 初始化连接时各个组件的实现

    http://img4.mukewang.com/60e6b6970001f9dc08970510.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    实现websocket 连接

    处理客户端与服务端之间的websocket 的业务

    先处理其他情况

    http://img1.mukewang.com/60e6b5300001296709010538.jpg

    处理消息

    判断是否是二进制消息,是就抛出异常,暂不支持二进制消息

    http://img3.mukewang.com/60e6b56e0001580608960508.jpg

    获取发送的消息

    http://img.mukewang.com/60e6b5c100015f1e09040522.jpg

    群发消息

    http://img2.mukewang.com/60e6b5e8000119a809230521.jpg



    处理websocket 的接收消息处理方法

    http://img4.mukewang.com/60e6b6140001510209180526.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket 握手请求业务的实现

    先定义两个属性

    http://img2.mukewang.com/60e6b31a0001d3a008900524.jpg


    处理握手请求的业务

    http://img1.mukewang.com/60e6b4ac0001b32b08920521.jpg


    处理客户端向服务端发起http 握手请求的业务

    http://img4.mukewang.com/60e6b48d0001b93e09130505.jpg



    服务端向客户端响应消息的方法

    http://img.mukewang.com/60e6b42d0001c7d409030522.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket

    核心业务处理类

    要继承SimpleChannelInboundHandle

    http://img2.mukewang.com/60e6af9300017a4008950512.jpg

    要重写以下几个方法

    http://img1.mukewang.com/60e6afb90001b33e08950530.jpg

    http://img.mukewang.com/60e6afc600018ec008900513.jpg

    如下

    http://img2.mukewang.com/60e6afe00001f4a108800524.jpg

    http://img3.mukewang.com/60e6afec0001108a08960513.jpg

    http://img1.mukewang.com/60e6afff0001009909070519.jpg

    http://img2.mukewang.com/60e6b00e000188c808940516.jpg

    http://img1.mukewang.com/60e6b025000134b109030518.jpg


    具体使用方法

    保存channel

    http://img4.mukewang.com/60e6b05f0001fb6609150517.jpg

    移除channel

    http://img1.mukewang.com/60e6b0830001254508980513.jpg

    接收数据结束

    http://img2.mukewang.com/60e6b0a40001aeac09190517.jpg

    打印错误,并关闭链接

    http://img1.mukewang.com/60e6b0c10001cdf609050520.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    服务端websocket

    全局配置类

    http://img.mukewang.com/60e6af3b0001d36408840520.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    websocket 入门

    http://img1.mukewang.com/60e6ad90000185c707720370.jpg

    先用http 进行握手请求,然后用socket 建立连接,之后就不需要用http 的参与

    websocket 的优点

    http://img4.mukewang.com/60e6ade10001742e08040318.jpg

    websocket 建立连接

    http://img3.mukewang.com/60e6adfc0001116608850357.jpg

    websocket 生命周期

    http://img3.mukewang.com/60e6ae4a000126d407390329.jpg

    websocket 关闭连接,两种方式,一般应该基于服务器关闭

    http://img.mukewang.com/60e6ae600001946d07710263.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    原生nio 的缺点

    http://img2.mukewang.com/60e6ac9f000124c707950377.jpg

    JDK NIO bug

    使用IO复用,Linux下一般默认就是epoll,Java NIO在Linux下默认也是epoll机制,但是JDK中epoll的实现却是有漏洞的,其中最有名的java nio epoll bug就是即使是关注的select轮询事件返回数量为0,NIO照样不断的从select本应该阻塞的Selector.select()/Selector.select(timeout)中wake up出来,导致CPU 100%问题。


    Netty 优势

    阿里巴巴的分布式框架dubbo,就使用了netty 作为底层框架,其他rpc 框架很多也是用netty 

    http://img1.mukewang.com/60e6ad600001d6bf07940327.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    BIO 通信

    http://img.mukewang.com/60e6a07e0001e68e07400411.jpg

    一线程对一客户端

    http://img1.mukewang.com/60e6a0a10001697607840380.jpg


    伪异步IO 通信

    http://img2.mukewang.com/60e6a0b700013c3508190367.jpg

    http://img2.mukewang.com/60e6a0c80001b51b07980361.jpg



    nio通信

    http://img1.mukewang.com/60e6a1080001cc4b08390336.jpg


    aio 通信

    http://img3.mukewang.com/60e6a12a0001fcd107510329.jpg



    四种io 对比

    http://img2.mukewang.com/60e6a1640001c9c807780329.jpg

    http://img1.mukewang.com/60e6a1850001599c07760368.jpg

    0赞 · 0采集
  • 正是在下 2021-07-08

    什么是netty

    http://img.mukewang.com/60e69ca50001aa0207620425.jpg

    netty 的使用场景

    http://img1.mukewang.com/60e69cf700014ddf07730424.jpg








    0赞 · 0采集
  • UFO2015 2020-11-03

    NIO 通信

    截图
    0赞 · 0采集
  • UFO2015 2020-11-03

    Java IO 通信

    截图
    0赞 · 0采集
  • UFO2015 2020-11-03

    Netty


    Java Web 开发

    截图
    0赞 · 0采集
  • UFO2015 2020-11-03

    TCP close 高延迟,数据一致性

    截图
    0赞 · 0采集
  • UFO2015 2020-11-03

    # Web 实时通信方案 All In One

    HTTP 轮询, 单向通信,开销大

    HTTP 长轮询, 单向通信,开销较小

    WebSocket,双向通信,开销最小

    Server Push,单向通信,开销较小



    WebRTC 实时音频,视频,H5 直播



     

    截图
    0赞 · 0采集
  • UFO2015 2020-11-03

    https://github.com/MyCATApache/Mycat-Server

    首先,使用 HTTP 协议,建立连接

    后面,使用 WS 协议,进行通信

    截图
    1赞 · 0采集
  • weibo_L誌銘_0 2020-10-31

    bio通信的特点

    截图
    0赞 · 0采集
  • weibo_L誌銘_0 2020-10-31

    使用的场景

    截图
    0赞 · 0采集
  • weibo_L誌銘_0 2020-10-31

    netty介绍

    截图
    0赞 · 0采集
  • 慕粉2096223 2020-10-15

    BIO  同步阻塞IO

    伪异步IO通信(线程池处理)

    NIO  同步非堵塞IO

    AIO  异步非堵塞IO

    0赞 · 0采集
  • 小木思琼 2020-05-11

     一般来说I/O模型可以分为:同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO

    同步阻塞IO:在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统的IO模型属于此种方式!

    同步非阻塞IO:在此种方式下,用户进程发起一个IO操作以后边可返回做其它事情,但是用户进程需要时不时的询问IO操作是否就绪,这就要求用户进程不停的去询问,从而引入不必要的CPU资源浪费。其中目前JAVA的NIO就属于同步非阻塞IO。

    异步阻塞IO:此种方式下是指应用发起一个IO操作以后,不等待内核IO操作的完成,等内核完成IO操作以后会通知应用程序,这其实就是同步和异步最关键的区别,同步必须等待或者主动的去询问IO是否完成,那么为什么说是阻塞的呢?因为此时是通过select系统调用来完成的,而select函数本身的实现方式是阻塞的,而采用select函数有个好处就是它可以同时监听多个文件句柄,从而提高系统的并发性!

     异步非阻塞IO:在此种模式下,用户进程只需要发起一个IO操作然后立即返回,等IO操作真正的完成以后,应用程序会得到IO操作完成的通知,此时用户进程只需要对数据进行处理就好了,不需要进行实际的IO读写操作,因为真正的IO读取或者写入操作已经由内核完成了。目前Java中还没有支持此种IO模型。  

    BIO是一个连接一个线程。

    NIO是一个请求一个线程。

    AIO是一个有效请求一个线程。


    1赞 · 0采集
  • 你很晒 2020-01-29

    1111111

    截图
    0赞 · 0采集
  • qq_曼陀罗花开_0 2019-12-19

    1:BIO 服务端一个线程会负责一个连接,进行请求的处理和响应,比较明显,当客户端比较多的时候,服务端的线程可能就不够了,这时候对应的请求就没法及时处理了 

    客户端个数:服务端处理线程个数=1:1

    IO类型:阻塞同步

    API使用难度:简单

    调试难度:简单


    0赞 · 0采集
  • qq_曼陀罗花开_0 2019-12-19

    WebSocket建立连接

    客户端发起握手请求

    服务端响应请求

    连接建立

    0赞 · 0采集
  • qq_偶尔想起你_0 2019-11-27

    NIO   所有的数据都是通过缓冲区处理的,通道Channel  。Selector 轮询Channel 



    截图
    0赞 · 0采集
  • 安薄荷 2019-11-13

    WebSocket:H5协议规范、握手机制、解决客户端与服务端实时通信而产生的技术

    本质上是基于TCP的协议

    服务端与客户端通过此TCP连接进行实时通信,当WebSocket客户端与服务器端进行通讯以后,此时就不再需要之前进行握手请求的HTTP协议的参与了

    0赞 · 0采集
数据加载中...
开始学习 免费