个人简介

Echo Blog


江湖无名 安心练剑
  • Netty-10-Connection Reset 异常分析
    Connection Reset 场景 当客户端关闭的时候,服务器会报错如下: java.net.SocketException: Connection reset .... 对于问题的好奇心 这里遇到了一个异常。 按照常理,我们应该忽略这个内容,但是这里恰恰是我们可以学习到知识的地方。 我们应该会有如下的疑问: 为什么会有这个异常? 什...
    2017-11-16 11:23:06 | Netty
  • Netty-11-流关闭的顺序
    流的关闭顺序 一般情况下是:先打开的后关闭,后打开的先关闭 另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b。例如,处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b 可以只关闭处理流,不用关闭节点流。处理流关闭的时候,会调用其处理的节点流的关闭方法。 注意: 如果将节点流关闭以后再关闭处理流,会抛出IO异常。 如果关闭了...
    2017-11-16 11:23:06 | Netty
  • Netty UDP-实际例子
    广播的个人理解 可以发送到多台主机,但是主机的监听端口号要相同。 但是有也可以不同,比如广播的时候,同时发送给多个 host+port,应该也是可以的。 定义传输对象 /** * @author binbin.hou * @since 1.0.0 */ public class MessageBean { private String time; publi...
    2017-11-16 11:23:06 | Netty
  • 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