Java基础第14天:IP地址、端口与UDP/TCP协议详解

需积分: 0 2 下载量 150 浏览量 更新于2024-08-04 收藏 48KB DOCX 举报
Java基础-day14每日作业卷1涵盖了多个关于Java网络编程的基础概念,包括IP地址和端口号的理解、InetAddress类的使用、以及UDP和TCP协议的区别与应用。以下是详细的知识点总结: 1. **IP地址与端口号** - IP地址是互联网上标识设备的唯一标识符,由32位(IPv4)或128位(IPv6)二进制组成,通常以点分十进制形式展示。 - 端口号是用于区分同一时间网络上的多个相同协议的连接的数字标识,每个连接占用一个16位的端口号范围,从0到65535。 2. **InetAddress类** - 在Java中,InetAddress类负责处理IP地址的管理和转换。通过这个类,开发者可以获取本地计算机的IP地址和主机名,以及远程主机的IP地址。 - 使用`getLocalHost()`获取本地机器的IP地址,`getByName()`则根据域名获取IP地址。 3. **UDP与TCP协议** - UDP (用户数据报协议) 是无连接的,意味着它不保证数据的有序性、可靠性和完整性,适合对实时性要求高的场景,如视频流和在线游戏。 - TCP (传输控制协议) 是面向连接的,提供可靠的数据传输,通过三次握手建立连接,并在数据传输过程中维护连接状态。 4. **DatagramPacket与Socket/DatagramSocket/ServerSocket** - 当使用UDP进行通信时,DatagramPacket类用于封装数据包,包含发送方和接收方的IP地址及端口号,用于在无连接的UDP套接字之间传递数据。 - 对于发送,需要使用DatagramSocket;对于接收,DatagramPacket的`getAddress()`方法获取发送方的IP地址,`getPort()`获取端口号。 5. **UDP与TCP协议的实例** - 例如,判断题中提到的"UDP保证数据完整性"是错误的,因为UDP本身不提供数据校验功能。 - TCP的三次握手过程包括:客户端发起syn(同步)请求,服务器回应ack(确认),客户端再次发送ack确认连接。 通过这些案例,学习者可以深入理解IP地址和端口号的作用,掌握如何使用Java的InetAddress类,以及区别和运用UDP和TCP协议,这对于网络编程和实际项目开发具有重要意义。