游戏服务器
文章平均质量分 63
张山大人
这个作者很懒,什么都没留下…
展开
-
Java游戏服务器系列:传统的BIO(OIO)、NIO与Netty中的BIO(OIO)、NIO
BIO 、NIO 、OIOBIO就是OIO,BIO是阻塞IO模型(Block-I/O)NIO是非阻塞IO模型(Non-Block I/O),有人将NIO称作(New-I/O),所以也将BIO称之为(Old-I/O),简称OIO下文中开始称之为OIO,因为Netty使用了这一简称,为了不对代码造成混淆,所以也是用OIO的命名方式jdk-API中的OIO定义:网络链接进入时,直接阻塞线程进行I/O读取与写入,链接关闭之前,这个线程都不会做其他工作。有比较详细的可参读作者的另外一篇博文OIO介绍原创 2021-05-24 14:49:38 · 1033 阅读 · 1 评论 -
Java游戏服务器系列:Netty重要组件
Channel1.通信过程中基本的I/O操作如:bind()、connect()、read()、write()等。都依赖与的曾网络传输所提供的原语,非框架下,操作都在Socket中实现2.Netty的Channel封装了这些底层原语的API,降低了直接使用Socket的复杂性3.每个链接进入之后,都会为其注册一个Channel,所有的I/O操作都在这个Channel中进行EventLoop 和 EventLoopGroup1.服务器会维护一个EventLoopGroup2.一个EventL原创 2021-05-23 19:31:37 · 150 阅读 · 1 评论 -
Java游戏服务器系列:Netty简单介绍
简介Java的底层API逐渐复杂,而开发者面对的开发场景需求也在逐渐增大。如果直接针对底层API进行编程,无疑是耗时耗力的。这时就催生了极多的编程框架,这些框架隐藏了API实现的复杂细节,以最简洁的方式给开发人员提供功能的实现接口。Netty就是一款针对于网络链接的框架,他的出现让服务器开发人员更加的集中关注于更多逻辑的实现,而不为了实现更好更多更稳定的链接而头疼。Netty的核心功能基于 NIO 实现。Netty的应用场景几乎适用于所有的长短链接场景,由于Java应用的广泛性,几乎所有的互联网公司或原创 2021-05-21 16:36:34 · 273 阅读 · 1 评论 -
Java游戏服务器系列:非阻塞I/O模型-NIO
原型说明背景在了解NIO (Non-Block I/O) 非阻塞I/O模型之前,我们可以先了解一下原始的BIO(Block I/O) 阻塞I/O模型,NIO模型能够以非阻塞的方式更好的利用服务器资源。组件说明(1)Channel:NIO模型中的管道,管道是链接建立和通信的重要组件,我们可以理解管道是一个容器环境,我们所有的I/O的建立读取都可以在这个容器中进行(2)Selector:NIO中的选择器,NIO是由事件驱动的,当有链接事件或者读取事件发生时,这个事件可以注册到这个选择器上,并且最终被原创 2021-05-21 14:52:19 · 147 阅读 · 0 评论 -
Java游戏服务器系列:最基本的阻塞I/O模型-BIO
原始的单线程阻塞I/O模型(1)模型图(2) 代码书写:const int PORT = 6666;//开始监听端口ServerSocket serverSocket = new ServerSocket(PORT);//阻塞自己监听是否有链接进入Socket socket = serverSocket.accept();//处理socketBufferedReader in = new BufferedReader(new InputStreamReader(socket.getInp原创 2021-05-21 12:52:42 · 130 阅读 · 1 评论