摘要:
Netty 是什么?在开始了解 Netty 是什么之前,我们先来回顾一下,如果我们需要实现一个客户端与服务端通信的程序,使用传统的 IO 编程,应该如何来实现?源码 IO编程我们简化下场景:客户端每隔两秒发送一个带有时间戳的 "hello world" 给服务端,服务端收到之后打印。 为了方便演示, 阅读全文
摘要:
微信的聊天又分为单聊和群聊,下面分别来介绍一下。源码 单聊流程 单聊指的是两个用户之间相互聊天。下面我们来看一下,用户单聊的基本流程 如上图,A 要和 B 聊天,首先 A 和 B 需要与服务器建立连接,然后进行一次登录流程,服务端保存用户标识和 TCP 连接的映射关系A 发消息给 B,首先需要将带有 阅读全文
摘要:
支持可热拔插的channelHandler ,心跳与空闲检测,源码 1、启动服务端(运行nettyServer的main方法) 2、启动客户端(运行nettyclient的main方法),并输入登录用户名登录,如下图: 3、单聊 发送方: 接受方: 4、群聊 (1)、发起群聊,创建群 client: 阅读全文
摘要:
为什么选择netty Netty 是业界最流行的 NIO 框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同 类框架中都是首屈一指的,它已经得到成百上千的商用项目验证,例如 Hadoop 的 RPC 框 架 Avro 使用 Netty 作为通信框架。很多其它业界主流的 RPC 和分布式服务框架 阅读全文
摘要:
用户空间以及内核空间概念 我们知道现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操心系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核,保证内核的安全,操心 阅读全文