【Java基础-day14每日作业卷1】涵盖了Java网络编程中的基本概念,主要涉及IP地址、端口号、InetAddress类、UDP和TCP协议以及相关的数据包处理类。以下是这些知识点的详细说明:
1. **IP地址**:Internet Protocol Address,是互联网上的唯一标识符,用于区分网络上的不同设备。它由32位二进制数组成,通常以点分十进制形式(例如:192.168.1.1)显示。
2. **端口号**:在网络通信中,端口是区分同一台计算机上多个网络服务的标识,用16位的二进制数表示,范围是0到65535。0-1023是系统保留端口,用于特定的服务,而1024以上的端口可以自由分配给应用程序。
3. **InetAddress类**:Java中用于表示IP地址和主机名的类,提供了获取和解析IP地址、主机名的相关方法,如getLocalHost()获取本地主机的IP和主机名,getByName()根据主机名获取IP地址。
4. **UDP协议**:User Datagram Protocol,是一种无连接的、不可靠的传输协议。它不保证数据的顺序或完整性,但具有低开销和快速传输的特点,适用于实时数据传输。
5. **TCP协议**:Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通过“三次握手”建立连接,确保数据的可靠传输。第一次握手是客户端发送连接请求,第二次是服务器确认连接,第三次是客户端再次确认连接。
6. **DatagramPacket类**:在Java中,UDP通信时用于封装数据报文的类,包含要发送的数据以及目标IP地址和端口号。在接收端,可以使用DatagramPacket的getAddress()获取发送端的IP地址,getPort()获取端口号。
7. **DatagramSocket类**:提供发送和接收UDP数据报的功能。send()方法用于发送DatagramPacket,而receive()方法用于接收。
8. **ServerSocket类**:在TCP通信中,用于监听客户端连接请求。accept()方法用于接收来自客户端的连接请求。
9. **创建UDP和TCP程序**:在Java中,创建UDP程序通常涉及DatagramSocket和DatagramPacket,而TCP程序涉及ServerSocket和Socket。例如,创建一个简单的UDP发送端,可以创建DatagramSocket,构造DatagramPacket,然后调用send()方法。TCP服务器端则需要创建ServerSocket,调用accept()方法等待客户端连接。
通过上述知识点的学习,开发者能够理解并实现基本的网络通信程序,如UDP和TCP的数据传输。这些基础知识对于构建网络应用至关重要。