java使用 TCP 的 Socket API 实现客户端服务器通信
一:什么是 Socket(套接字)
Socket 套接字是由系统提供于网络通信的技术, 是基于 TCP/IP 协议的网络通信的基本操作,要进行网络通信, 需要有一个 socket 对象, 一个 socket 对象对应着一个 socket 文件, 这个文件在 网卡上而不是硬盘上, 所以有了 sokcet 对象才能通过操作内存来操作网卡
二:什么是Socket API?
程序员进行网络编程主要是在 TCP/IP 五层网络模型中的应用层, 而数据在网络上传输, 需要进行封装和分用, 其中应用层需要调用传输层提供的 API , 这一组 API 就被称作 Socket API
三:基于 TCP 协议的 Socket API
TCP 协议是有链接, 面向字节流传输, 主要体现在 : 发送方和接收方在网络通信之间要先建立连接, 并且传输的数据的基本单位是字节
- ServerSocket 类
(1)ServerSocket 类的构造方法
(2)ServerSocket 类的成员方法
- Socket 类
Socket 这个类用于客户端, 也可以在服务器与客户端连接之后使用, 无论客户端或服务器使用, 都会保存对端的相关信息
(1)Socket 类的构造方法
(2)Socket 类的成员方法 :
getInputStream()返回的对象用来输入(读), 从网卡读数据到内存
getOutputStream返回的对象用来输出(写), 从内存写数据到网卡
四:TCP协议实现网络通信
一定是服务器先启动, 一直等待客户端发来请求, 所以按照时间顺序, 代码逻辑应该如下所示 :