TCP编程使用到类ServerSocket、Socket
ServerSocket
- 在服务器端用ServerSocket监听一个端口
- serverSocket.accept()用于接收客户端的请求,他会阻塞服务器的线程
- accept.getInputStream() / accept.getOutputStream()用于接收客户端 或 向客户端发送数据
Socket
- 在客户端实例化Socket类连接服务端
- socket.getOutputStream() / socket.getInputStream()用于向服务器端发送数据 或 接收服务端发来的数据,socket.getInputStream()在没有接收到数据时,会阻塞客户端线程。
UDP编程使用到类DatagramSocket、DatagramPacket
DatagramSocket
- DatagramSocket在服务端监听一个端口号,在客户端创建数据发送的ip和端口
DatagramPacket
- 用于双放的数据接收与发送
运输层协议TCP和UDP的区别
TCP
传输控制协议,提供的是面向连接、可靠的字节流服务。使用了三次握手建立连接 和 四次挥手断开连接
UDP
用户数据报协议,只负责将数据报向目的地发送,不会与服务端建立连接,故传输速度比tcp快。