个人简介

Echo Blog


江湖无名 安心练剑
  • Netty-08-通讯模型框架 libevent
    libevent libevent – an event notification library 功能 libevent API提供了一种机制,用于在文件描述符上发生特定事件或达到超时后执行回调函数。 此外,libevent还支持由于信号或定期超时引起的回调。 libevent旨在替换事件驱动的网络服务器中的事件循环。应用程序只需调用event_dispatch(),然后动态添加...
    2017-11-16 11:23:06 | Netty
  • Netty-07-通讯模型之 NIO
    NIO 编程 JDK 1.4中的java.nio.*包中引入新的Java I/O库,其目的是提高速度。 实际上,“旧”的I/O包已经使用NIO重新实现过,即使我们不显式的使用NIO编程,也能从中受益。 速度的提高在文件I/O和网络I/O中都可能会发生,但本文只讨论后者。 我个人比较倾向于 non-blocking 这种称呼。 简介 NIO我们一般认为是New I/O(也是官方的叫...
    2017-11-16 11:23:06 | Netty
  • Netty-07-通讯模型
    Unix中的I/O模型 Unix定义了五种I/O模型 阻塞I/O 非阻塞I/O I/O复用(select、poll、linux 2.6种改进的epoll) 信号驱动IO(SIGIO) 异步I/O(POSIX的aio_系列函数) 异步的处理 异步无非是通知系统做一件事情。然后忘掉它,自己做其他事情去了。很多时候系统做完某一件事情后需要一些后续的操作。怎么办?这时候就是告诉异步调...
    2017-11-16 11:23:06 | Netty
  • Netty-07-通讯模型之 BIO
    传统的BIO编程 网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。 传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。  简...
    2017-11-16 11:23:06 | Netty
  • Netty-07-通讯模型之 AIO
    java 中的 AIO jdk7中新增了一些与文件(网络)I/O相关的一些api。这些API被称为NIO.2,或称为AIO(Asynchronous I/O)。 AIO最大的一个特性就是异步能力,这种能力对socket与文件I/O都起作用。 AIO其实是一种在读写操作结束之前允许进行其他操作的I/O处理。AIO是对JDK1.4中提出的同步非阻塞I/O(NIO)的进一步增强。 关于NI...
    2017-11-16 11:23:06 | Netty
  • Netty-06-基础组件之 ChannelHandler
    ChannelHandler 整体体系 作用 接受客户端的连接和创建连接只是应用程序中的一步,更加重要的还是处理传入传出的数据。 netty提供了强大的事件处理机制,允许用户自定义ChannelHandler的实现来处理数据。 方法 ChannelHandler用于处理Channel对应的事件 ChannelHandler接口里面只定义了三个生命周期方法,我们主要实现它的子...
    2017-11-16 11:23:06 | Netty
  • Netty-05-异步结果的获取 ChannelFuture
    异步 异步的概念和同步相对。 当一个异步过程调用发出后,调用者不能立刻得到结果。 实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。 异步的好处是不会造成阻塞,在高并发情形下会更稳定和更高的吞吐量。 ChannelFuture 说到Netty中的异步,就不得不提ChannelFuture。 Netty中的IO操作是异步的,包括bind、write、connect...
    2017-11-16 11:23:06 | Netty
  • Netty-04-基础组件之 Callback
    Callback 入门例子 代码 TestServer package com.github.houbb.netty.inaction.components.callback; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.ch...
    2017-11-16 11:23:06 | Netty