摘要: 定义 通信协议从广义上区分,可以分为公有协议和私有协议。由于私有协议的灵活性,它往往会在某个公司或者组织内部使用,按需定制,也因为如此,升级起来会非常方便,灵活性好。绝大多数的私有协议传输层都基于TCP/IP,所以利用Netty的NIO TCP协议栈可以非常方便地进行私有协议的定制和开发。 私有协议 阅读全文
posted @ 2019-07-17 03:36 SoyWang 阅读(887) 评论(0) 推荐(0)
摘要: 什么是WebSocket? WebSocket ——一种在2011 年被互联网工程任务组(IETF)标准化的协议。 WebSocket解决了一个长期存在的问题:既然底层的协议(HTTP)是一个请求/响应模式的交互序列,那么如何实时地发布信息呢?AJAX提供了一定程度上的改善,但是数据流仍然是由客户端 阅读全文
posted @ 2019-07-17 03:24 SoyWang 阅读(1343) 评论(0) 推荐(0)
摘要: 实现UDP单播和广播 UDP 这样的无连接协议中,并没有持久化连接这样的概念,并且每个消息(一个UDP 数据报)都是一个单独的传输单元。此外,UDP 也没有TCP 的纠错机制。 通过类比,TCP 连接就像打电话,其中一系列的有序消息将会在两个方向上流动。相反,UDP 则类似于往邮箱中投入一叠明信片。 阅读全文
posted @ 2019-07-17 03:23 SoyWang 阅读(869) 评论(0) 推荐(0)
摘要: 一种特殊的Channel 实现——EmbeddedChannel,它是Netty 专门为改进针对ChannelHandler 的单元测试而提供的。 将入站数据或者出站数据写入到EmbeddedChannel 中,然后检查是否有任何东西到达了ChannelPipeline 的尾端。以这种方式,你便可以 阅读全文
posted @ 2019-07-17 03:21 SoyWang 阅读(1351) 评论(0) 推荐(0)
摘要: Java序列化的目的主要有两个: 1.网络传输 2.对象持久化 当选行远程跨迸程服务调用时,需要把被传输的Java对象编码为字节数组或者ByteBuffer对象。而当远程服务读取到ByteBuffer对象或者字节数组时,需要将其解码为发送时的Java 对象。这被称为Java对象编解码技术。 Java 阅读全文
posted @ 2019-07-17 03:18 SoyWang 阅读(1199) 评论(0) 推荐(0)
摘要: Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用,这减少了你在那些相当繁琐的事务上本来会花费的时间与精力。 通过SSL/TLS 保护Netty 应用程序 SSL和TLS这样的安全协议,它们层叠在其他协议之上,用以实现数据安全。我们在访问安全网站时遇到过这些协议,但是它们也可用于其他 阅读全文
posted @ 2019-07-17 03:15 SoyWang 阅读(882) 评论(0) 推荐(0)
摘要: 什么是编解码器 每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换。这种转换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将字节流从一种格式转换为另一种格式。那么它们的区别是什么呢? 如果将消息看作是对于特定的应用程序 阅读全文
posted @ 2019-07-17 03:13 SoyWang 阅读(822) 评论(0) 推荐(0)