1.网络编程三要素
(1)协议:
1. TCP协议:
传输控制协议(Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻
辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。
三次握手: TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。
第一-次握手,客户端向服务器端发出连接请求,等待服务器确认。
第二次握手,服务器端向客户端回送一个响应, 通知客户端收到了连接请求。
第三次握手,客户端再次向服务器端发送确认信息,确认连接。
2. UDP协议
用户数据报协议(User Datagram Protocol)。UDP协议是一个面向无连接的协议。 传输数据时,不需要建立连接,不管对方端服
务是否启动,直接将数据、数据源和目的地都封装在数据包中,直接发送。每个数据包的大小限制在64k以内。它是不可靠协
议,因为无连接,所以传输速度快,但是容易丢失数据。日常应用中,例如视频会议、QQ聊天等。
(2) IP地址
指互联网协议地址(Internet Protocol Address) ,俗称IP。IP地址用来给一个网络中的计算机
设备做唯一的编号。假如我们把“个人电脑”比作”一台电话”的话,那么"IP地址”就相当于 "电话号码
(3)端口号:网络的通信,本质上是两个进程(应用程序)的通信。每台计算机都有很多的进程,那么在网络通信时,如何区分这些进程呢?如果说地址可以唯一标识网络中的设备, 那么端口号就可以唯一标识设备中的进程(应用程序)了。
2. TCP通信程序
1、创建- -个服务端
**ServerSocket类: **
Java中可以实现服务器套接字的类
构造函数: public ServerSocket(int port);创建该对象,并指定端口号
成员方法: public Socket accept();监听服务端的连接, 该方法会阻塞到一直建立连接为止。
2、创建- -个客户端
Socket类:
Java中用于实现客户端的类
构造方法: public Socket(String host,int port)