六阿哥博客

由于 Vue CLI 3 不再使用传统的 webpack 配置文件,导致 WebStorm 无法识别别名,需要手动创建一个 webpack 配置文件。 在项目根目录,创建一个 alias.config.js 文件,写入以下代码: const resolve = dir => require(...

发布 1 条评论

对于习惯使用 IntelliJ IDEA 的玩家,使用 WebStorm 来编写前端代码比使用 Visual Studio Code 更得劲,于是开始折腾。。。 我使用的 WebStorm 版本是 2019.1 ,不同版本界面会有少许区别。 安装插件 首先在 WebStorm 安装 ...

发布 0 条评论

在 Mac 下,我们可以通过安装 Docker Desktop 和 Kitematic 工具以图形化界面管理 Docker 。不过,我通过 Kitematic 安装了几个 Nginx 容器,发现并没有同时帮我们映射 Nginx 配置文件目录和站点目录。所以需要我们手动安装和映射我...

发布 0 条评论

什么是编解码器 每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换。这种换换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将字节流从...

发布 0 条评论

EmbeddedChannel 概述 Netty 提供了它所谓的 Embedded 传输,用于测试 ChannelHandler 。这个传输是一种特殊的 Channel 实现 EmbeddedChannel 的功能,这个实现提供了通过 ChannelPipeline 传播事件的简便方法。 将入站数据或...

发布 0 条评论

Bootstrap 类 引导类的层次结构中包括了一个抽象的父类和两个具体的引导子类: ServerBootstrap 致力于使用一个父 Channel 来接受来自客户端的连接,并创建子 Channel 以用于它们之间的通信。Bootstrap 一般只需要一个单独...

发布 0 条评论

线程模型概述 线程模型确定了代码的执行方式 基本的线程池化模式可以描述为: 从池的空闲线程列表中选择一个 Thread ,并且指派它去运行一个已提交的任务(一个 Runnable 的实现)。当任务完成时,将该 Thread 返回给该列表...

发布 0 条评论

ChannelHandler 家族 Channel 的生命周期 Channel 接口定义了一组和 ChannelInboundHandler API密切相关的简单但功能强大的状态模型。Channel 的 4 个状态: ChannelUnregistered:Channel已经被创建,但还未注册到 EventLo...

发布 0 条评论

网络数据的基本单位是字节,Java NIO 提供了 ByteBuffer 作为它的字节容器,但是这个类使用很频繁且过于复杂。所以 Netty 提供了 ByteBuf 作为字节容器,用于替代 ByteBuffer 的工作。 Netty 的数据处理 API 通过两个组件暴露 :B...

发布 0 条评论

传输API 传输 API 的核心是 Channel 接口,它被用于所有的 I/O 操作。Channel 实现是线程安全的,即使你在多个线程中使用它向远程节点写数据。 Channel 类的层次结构如下: 每个 Channel 都会被分配给一个 ChannelPipeline...

发布 0 条评论

Channel、EventLoop 和 ChannelFuture Channel 、 EventLoop 、 ChannelFuture 这些类合在一起,可以被认为是 Netty 网络抽象的代表。 Channel:SocketEventLoop:控制流、多线程处理、并发ChannelFuture:异步通知 Channel...

发布 0 条评论

编写服务器 所有的 Netty 服务器都需要以下两个部分: 至少一个 ChannelHandler ,该组件实现了服务器对从客户端接收的数据的处理,即它的业务逻辑。引导,这是配置服务器的启动代码。至少,它会将服务器绑定到它要监听的连接...

发布 0 条评论

Channel Channel 是 Java NIO 的一个基本构造,它代表一个到实体(如一个硬件设备、一个文件、一个网络套接字或一个能够执行一个或多个不同的I/O操作的程序组件)的开放连接,如读操作和写操作。 目前,可以把 Channel 看作是...

发布 0 条评论

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。 目前在 Android 开发中...

发布 0 条评论

小时候玩过一款很有意思的游戏,重装机兵1代(MM1),至今剧情记忆犹新。在学习 Unity 引擎后,自己尝试重制了下,遗憾的是,她烂尾了。 现在将代码开源出来,有兴趣的可以看下。GitHub :https://github.com/6ag/MM1 游戏...

发布 1 条评论