个人简介

Echo Blog


江湖无名 安心练剑
  • Netty UDP-简介
    背景 到目前为止,你所见过的绝大多数的例子都使用了基于连接的协议,如TCP。 在本章中,我们将会把重点放在一个无连接协议即用户数据报协议(UDP)上,它通常用在性能至关重要并且能够容忍一定的数据包丢失的情况下。 我们将会首先概述 UDP 的特性以及它的局限性。 在这之后,我们将描述本章的示例应用程序,其将演示如何使用UDP 的广播能力。 我们还会使用一个编码器和一个解码器来处理作为...
    2017-11-16 11:23:06 | Netty
  • Netty WebSocket-netty 实现案例
    我们的WebSocket 示例应用程序 场景 为了让示例应用程序展示它的实时功能,我们将通过使用WebSocket 协议来实现一个基于浏览器的聊天应用程序,就像你可能在Facebook 的文本消息功能中见到过的那样。 我们将通过使得多个用户之间可以同时进行相互通信,从而更进一步。 图12-1 说明了该应用程序的逻辑: (1)客户端发送一个消息; (2)该消息将被广播到所有其他连接...
    2017-11-16 11:23:06 | Netty
  • Netty WebSocket-实时 web
    实时 web 如果你有跟进Web 技术的最新进展,你很可能就遇到过“实时Web”这个短语,而如果你在工程领域中有实时应用程序的实战经验,那么你可能有点怀疑这个术语到底意味着什么。 因此,让我们首先澄清,这里并不是指所谓的硬实时服务质量(QoS),硬实时服务质量是保证计算结果将在指定的时间间隔内被递交。 仅HTTP 的请求/响应模式设计就使得其很难被支持,从过去所设计的各种方案中都没有提...
    2017-11-16 11:23:06 | Netty
  • Netty SSL/TLS
    Netty 的开箱即用 Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用,这减少了你在那些相当繁琐的事务上本来会花费的时间与精力。 在本章中,我们将探讨这些工具以及它们所带来的好处,其中包括Netty 对于SSL/TLS 和WebSocket 的支持,以及如何简单地通过数据压缩来压榨HTTP,以获取更好的性能。 通过SSL/TLS 保护Netty 应用程序 如今,数...
    2017-11-16 11:23:06 | Netty
  • Netty 序列化
    序列化数据 JDK 提供了ObjectOutputStream 和ObjectInputStream,用于通过网络对POJO 的基本数据类型和图进行序列化和反序列化。 该API 并不复杂,而且可以被应用于任何实现了java.io.Serializable 接口的对象。 但是它的性能也不是非常高效的。 在这一节中,我们将看到Netty 必须为此提供什么。 JDK 序列化 如果你的应...
    2017-11-16 11:23:06 | Netty
  • Netty 空闲的连接和超时
    空闲的连接和超时 连接管理 到目前为止,我们的讨论都集中在Netty 通过专门的编解码器和处理器对HTTP 的变型HTTPS 和WebSocket 的支持上。 只要你有效地管理你的网络资源,这些技术就可以使得你的应用程序更加高效、易用和安全。 所以,让我们一起来探讨下首先需要关注的——连接管理吧。 核心 API 检测空闲连接以及超时对于及时释放资源来说是至关重要的。 由于这是一...
    2017-11-16 11:23:06 | Netty
  • Netty HTTP/HTTPS
    构建基于Netty 的HTTP/HTTPS 应用程序 HTTP/HTTPS 是最常见的协议套件之一,并且随着智能手机的成功,它的应用也日益广泛,因为对于任何公司来说,拥有一个可以被移动设备访问的网站几乎是必须的。 这些协议也被用于其他方面。 许多组织导出的用于和他们的商业合作伙伴通信的 WebService API 一般也是基于HTTP(S)的。 接下来,我们来看看 Netty 提供...
    2017-11-16 11:23:06 | Netty
  • Netty 基于分隔符的协议和基于长度的协议
    解码基于分隔符的协议和基于长度的协议 在使用 Netty 的过程中,你将会遇到需要解码器的基于分隔符和帧长度的协议。 下一节将解释 Netty 所提供的用于处理这些场景的实现。 基于分隔符的协议 基于分隔符的(delimited)消息协议使用定义的字符来标记的消息或者消息段(通常被称为帧)的开头或者结尾。 由RFC文档正式定义的许多协议(如SMTP、POP3、IMAP以及Telne...
    2017-11-16 11:23:06 | Netty