TCP协议:
传输控制协议 (Transmission Control Protocol)
TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”
三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠
- 第一次握手,客户端向服务器端发出连接请求,等待服务器确认
- 第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求
- 第三次握手,客户端再次向服务器端发送确认信息,确认连接
准备要断开连接的四次挥手
Java为客户端提供了Socket类,为服务端提供了ServerSocket类
Socket类的构造器方法
方法名 | 说明 |
---|---|
Socket(InetAddreess address,int port) | 创建流套接字并将其连接指定IP,指定端口号 |
Socket(String host,int post) | 创建流套接字并将其连接到指定主机上的指定端口号 |
相关方法
方法名 | 说明 |
---|---|
InoutStream getInputStream() | 返回此套接字的输入流 |
OutPutStream getOutputStream() | 返回此套接字的输出流 |
ServerSocket类的构造器方法
f方法名 | 说明 |
---|---|
ServerSocket(int port) | 创建服务器的套接字绑定到指定的端口 |
相关方法
方法名 | 说明 |
---|---|
Socket accpet() | 监听要连接到的套接字并接受它 |
accpet方法是堵塞的,作用就是等待客户端的连接 | |
read方法也是阻塞的 |
测试
客户端
public static void main