【网络编程】Netty 入门前篇

前言

学习某门技术或者框架的时候,当然是要了解下面这几样东西。

  1. 是什么?
  2. 有那些特点?
  3. 应用场景是什么?
  4. 有哪些成功的使用案例?

为了让你能更好的了解Netty以及它的诞生原因,先从传统的网络编程说起!

一、BIO  传统的阻塞式通信流程

早期Java网络相关的API(Java.net包)使用socket套接字进行网络通信,不过只支持阻塞函数使用。

要通过互联网进行通信,至少需要一对套接字:

  1. 运行于服务器端的 Server Socket
  2. 运行于客户机端的 Client Socket

Socket网络通信过程如下图所示:

                         【网络编程】Netty 入门前篇_第1张图片

Socket 网络通信过程简单来说分为下面 4 步:

  1. 建立服务端并且监听客户端请求
  2. 客户端请求,服务端和客户端建立连接
  3. 两端之间可以传递数据
  4. 关闭资源

对应到服务端和客户端的话,是下面这样的。

服务器端:

  1. 创建 ServerSocket 对象并且绑定地址(ip)和端口号(port):server.bind(new InetSocketAddress(host, port))

你可能感兴趣的:(网络编程)