TCP通信的概述

概述

TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务器(Server)。

两端通信时步骤:

  1.服务端程序,需要事先启动,等待客户端的连接。

  2.客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。

在Java中,提供了两个类用于实现TCP通信程序:

  1. 客户端:java.net.Socket类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。

  2.服务端:java.net.ServerSocket类表示。创建ServerSocket对象,相当于开启一个服务,并等待客户端的连接。

TCP通信:面向连接的通信,客户端和服务器端必须的经过3次握手,建立逻辑连接,才能通信(安全)

通信的步骤:

  服务器端先启动

  服务器端不会主动的请求客户端

  必须使用客户端请求服务器端

  客户端和服务端就会建立一个逻辑连接

  而这个连接中包含一个对象

  这个对象就是IO对象

  客户端和服务器端就可以使用

  IO对象进行通信

  通信的数据不仅仅是字符

  所以IO对象是字节流对象

服务器端需明确两件事情:

1.多个客户端同时和服务器进行交互,服务器必须明确和哪个客户端进行的交互在服务器端

有一个方法,叫accept客户端获取到请求的客户端对象

2.多个客户端同时和服务器进行交互,就需要使用多个IO流对象

  服务器是没有IO流的,服务器可以获取到请求的客户端对象Socket

  使用每个客户端Socket中提供的IO流和客户端进行交互

    服务器使用客户端的字节输入流读取客户端发送的数据

    服务器使用客户端的字节输出流给客户端回写数据(服务器使用客户端的流和客户端交互)

 

 

 

posted @ 2022-07-18 17:01  魔光领域  阅读(105)  评论(0编辑  收藏  举报