摘要:
为了支持 SSL/TLS,Java 提供了 javax.net.ssl API 的类 SslContext 和 SslEngine 使它相对简单的实现解密和加密。Netty 利用该 API 实现了 ChannelHandler 的子类 SslHandler。下图为 Sslhandler 的数据流图: 阅读全文
摘要:
Netty 提供了丰富的解码器抽象基类,主要分为两类: 解码字节到消息(ByteToMessageDecoder 和 ReplayingDecoder) 解码消息到消息(MessageToMessageDecoder) 一、ByteToMessageDecoder ByteToMessageDeco 阅读全文
摘要:
本节主要讨论了 Netty 的数据处理组件 ChannelHandler。 一、Channel 生命周期 Channel 有个简单但强大的状态模型,下面是 Channel 的四个状态: Channel 的正常生命周期如下图,当这些状态发生变化时,对应的事件将会生成。 二、ChannelHandler 阅读全文
摘要:
Netty 中使用 ByteBuf 代替 Java NIO 提供的 ByteBuffer 作为字节的容器。 一、索引 ByteBuf 提供两个指针变量支持读和写操作,读操作使用 readerIndex,写操作使用 writerIndex。如下图: 二、索引管理 三、查询操作 可以使用以 ByteBu 阅读全文
摘要:
该节主要讲解 Netty 的构成部分。 一、Channel 它代表一个用于连接到实体如硬件设备、文件、网络套接字或程序组件,能够执行一个或多个不同的 I/O 操作的开放连接。可以比作传入和传出数据的传输工具。 二、Callback(回调) 它就是一个方法,提供给另一种方法作为引用,这样后者就可以在某 阅读全文
摘要:
在这个例子中,我在服务器和客户端连接被创立时发送一个消息,然后在客户端解析收到的消息并输出。并且,在这个项目中我使用 POJO 代替 ByteBuf 来作为传输对象。 一、服务器实现 1. 首先我们自定义传输数据对象 2. 然后我们需要自定义服务器数据编码类 3. 也需要自定义服务器的业务逻辑类,如 阅读全文
摘要:
一、项目创建 在 Eclipse 中右键,新建->项目->Maven->Maven Project->下一步->选择 quickstart 下一步->设置如图(参数自取) 点击完成。 项目会自动创建 pom.xml 文件,打开该文件,点击 Dependencies标签->Add..,设置如图(参数由 阅读全文
摘要:
在 C# 代码中,有些时候只知道方法的名字(string),需要调用该方法,那么就需要用到 C# 的反射机制。下面是一个简单的 demo。 需要注意的是,类名是命名空间+类名,不然会找不到类。 阅读全文
摘要:
该文讲解 C# 对 mysql 数据库进行增删改查操作。 1. 安装数据库,注意要安装 Connector NET。 2. 引入 MySql.Data.dll,添加项目引用,该文件一般位置为:C:\Program Files (x86)\MySQL\Connector NET xx\Assembli 阅读全文
该文被密码保护。 阅读全文