java使用 TCP 的 Socket API 实现客户端服务器通信

一:什么是 Socket(套接字)

Socket 套接字是由系统提供于网络通信的技术, 是基于 TCP/IP 协议的网络通信的基本操作,要进行网络通信, 需要有一个 socket 对象, 一个 socket 对象对应着一个 socket 文件, 这个文件在 网卡上而不是硬盘上, 所以有了 sokcet 对象才能通过操作内存来操作网卡

二:什么是Socket API?

程序员进行网络编程主要是在 TCP/IP 五层网络模型中的应用层, 而数据在网络上传输, 需要进行封装和分用, 其中应用层需要调用传输层提供的 API , 这一组 API 就被称作 Socket API

三:基于 TCP 协议的 Socket API

TCP 协议是有链接, 面向字节流传输, 主要体现在 : 发送方和接收方在网络通信之间要先建立连接, 并且传输的数据的基本单位是字节

  1. ServerSocket 类
    (1)ServerSocket 类的构造方法
    在这里插入图片描述
    (2)ServerSocket 类的成员方法
    java使用 TCP 的 Socket API 实现客户端服务器通信_第1张图片
  2. Socket 类
    Socket 这个类用于客户端, 也可以在服务器与客户端连接之后使用, 无论客户端或服务器使用, 都会保存对端的相关信息
    (1)Socket 类的构造方法
    java使用 TCP 的 Socket API 实现客户端服务器通信_第2张图片
    (2)Socket 类的成员方法 :
    java使用 TCP 的 Socket API 实现客户端服务器通信_第3张图片
    getInputStream()返回的对象用来输入(读), 从网卡读数据到内存
    getOutputStream返回的对象用来输出(写), 从内存写数据到网卡

四:TCP协议实现网络通信

一定是服务器先启动, 一直等待客户端发来请求, 所以按照时间顺序, 代码逻辑应该如下所示 :
java使用 TCP 的 Socket API 实现客户端服务器通信_第4张图片

你可能感兴趣的:(netty,java)