目录
简介
Socket服务器实现
Sokcet客户端实现
Socket服务器与多客户端的长连接的交互
实现易出问题分析
简介
01
在讲解Socket通信之前,需要先了解一下常见的网络层级,如下图所示ISO将网络传输分为7层,其中Socket通信处于传输层,使用的协议包括TCP和UDP,UDP是基于面向无链接的传输,TCP是基于链接的传输。
Socket主要功能是将TCP的复杂的数据传输,通过封装和抽象为简单的API,便于开发者直接调用,不需要关注底层的数据包的拆解和传输流程,如下图所示为Socket通信的基本流程分析如下:
通过SeverSocket绑定一个指定的端口号(一般大于5000);
调用accpet()方法开始阻塞等待客户端的连接;
客户端创建Socket对象,连接指定的IP和端口号;
连接成功后,服务器与客户端开始数据收发;
关闭连接,释放流接口,流程结束。
Socket服务器的实现
02
通过1中的数据交互的流程分析,知道Socket数据交互的基本流程,首先是需要创建Socket的服务器等待客户端的连接,否则无法正常执行数据的接收通信,因此先分析Socket服务器端的实现。注意流程如下:
服务器创建ServerSocket,调用accpet()等待客户端连接;