TCP通信个人分析理解版
TCP通信分析
通信的步骤
- 【服务端】启动,创建ServerSocket对象,等待连接。
- 【客户端】启动,创建Socket对象,请求连接。
- 【服务端】接收连接,调用accept方法,并返回一个Socket对象。
- 【客户端】Socket对象,获取OutputStream,向服务端写出数据。
- 【服务端】Scoket对象,获取InputStream,读取客户端发送的数据。
//到此,客户端向服务端发送数据成功
//自此,服务端向客户端回写数据。 - 【服务端】Socket对象,获取OutputStream,向客户端回写数据。
- 【客户端】Scoket对象,获取InputStream,解析回写数据。
- 【客户端】释放资源,断开连接。
个人理解:
1.服务器端先启动。
2.服务器端不会主动请求客户端。
3.必须使用客户端请求服务器端。
4.客户端和服务器端就会建立逻辑连接。
而这个连接中包含了一个对象(IO对象,)。
5.客户端和服务器端就可以使用IO对象进行通信,
6.通信的数据不仅仅是字符,所以IO对象是字节流对象。
7.服务器端可以同时和多个客户端进行交互,服务器必须明确和哪个客户端进行交互。
在服务器端有一种方法,叫accept客户端获取请求到的客户端对象。
8.多个客户端同时和服务器进行交互,就需要使用多个IO流对象。
服务器是没有IO流的,服务器可以获取到请求的客户端对象Scoket,使用每个客户端Scoket中提供的IO流和客户端进行交互。
图片是借用的