个人简介

Echo Blog


江湖无名 安心练剑
  • Netty 权威指南-08-netty 服务端启动流程源码详解
    ServerBoostrap 用户可以通过 netty 的 ServerBoostrap 启动服务端,时序图如下: 入门例子 为了便于大家理解,我们把服务端启动的代码放在下面: public void run() throws Exception { /** * EventLoopGroup 是用来处理I/O操作的多线程事件循环器 * bossGrou...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-07-Netty 实战:如何实现自定义协议消息推送?
    推送业务 思路 消息推送一般的思路就是: 1.轮询(Pull)客户端定时的去询问服务器是否有新消息需要下发;确点很明显Android后台不停的访问网络费电还浪费流量。 2.推送(Push)服务端有新消息立即发送给客户端,这就没有时间的延迟,消息及时到达。 当时需求过来之后就首先考虑的这两个,开发的角度Pull实现起来简单省事,但从用户来说省电和省流量才是主要的,所以最后选用Push...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-07-Netty example http cors
    Cross-Origin Resource Sharing (CORS) COSR(跨站点资源分享)通俗的讲是跨域问题,严格来说它是跨域问题的解决方案之一,而且是官方解决方案。 在CORS成为标准之前,是没有办法请求不同域名的后端API的,因为安全原因。请求会被同源策略阻止,现在也是。 参考 HTTP CORS 实例代码 例子说明 28 /** 29 * This exam...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-07-Netty 实战:如何实现 HTTP 服务器?
    例子说明 一个HTTP服务器,它以纯文本格式发送回接收到的HTTP请求的内容。 源码 HttpHelloWorldServer.java 这里指定了打印后台的日志信息。 import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.C...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-07-Netty 实战:如何实现文件服务器?
    文件服务器 实现一个可以展示指定用户输入的文件路径,返回对应文件内容的服务器。 实例代码 服务端 public class FileServer { public static void main(String[] args) { EventLoopGroup bossGroup = new NioEventLoopGroup(); Even...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-07-Netty example 例子学习
    netty.example 包 可以直接参见 https://netty.io/4.1/xref/overview-summary.html 以 netty.example 开头的包。 netty 学习的难点 国内的资料较少,书籍其实也不多。 netty 官网的 document 内容其实不多,就是前面提到的几节。 可以说,netty 和 java nio 一样,入门相对容易,...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-06-使用 POJO 代替 Bytebuf
    情景导入 学习了前面的基础信息,我们发现我们的大部分内容都是基于 Bytebuf 去处理的。 对于 java 这一门 OO 的语言而言,我们更加习惯的是使用 Pojo 去处理。 代码示例 对象定义 UnixTime.java public class UnixTime { private final long value; public UnixTim...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-05-拆包和粘包
    TCP为什么会粘包/拆包 我们知道,TCP是以一种流的方式来进行网络转播的,当tcp三次握手建立通信后,客户端服务端之间就建立了一种通讯管道,我们可以想象成自来水管道,流出来的水是连城一片的,是没有分界线的。 TCP底层并不了解上层的业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分。 所以对于我们应用层而言。 我们直观是发送一个个连续完整TCP数据包的,而在底层就可能会...
    2019-05-10 03:08:59 | Netty