Java中的ServerSocket类用于创建服务器端套接字的方法:A.listen()B.connect()C.bind()D.close()答案:C11.2. 操作步骤描述(参考讲义 4.1)12. 训练案例 1212.1. 训练描述:【讲义 4.2—Socket】一、以下哪个类代表了TCP协议中的客户端套接字:A.ServerSocketB.SocketC.DatagramSocketD.DatagramPacket答案:B12.2. 操作步骤描述(参考讲义 4.2)
知识点解析:
1. **IP地址**:IP地址是互联网上设备的唯一标识,由32位二进制组成,通常用点分十进制表示。它分为五类(A、B、C、D、E),其中A、B、C类地址用于主机,D类用于多播,E类预留。
2. **端口号**:端口号是应用层服务与传输层之间的标识,用于区分同一台主机上的不同服务。它们占16位,取值范围是0到65535,其中0-1023为系统保留端口,1024-49151为用户可分配端口,49152-65535为动态端口。
3. **InetAddress类**:Java中的InetAddress类是用来表示IP地址的,它提供了获取和解析IP地址以及主机名的功能。例如,通过getLocalHost()获取本地主机的IP地址,getByName(String host)根据主机名获取IP地址。
4. **UDP协议**:User Datagram Protocol(用户数据报协议)是一种无连接的、不可靠的传输层协议,适合于对实时性要求高的场景,如视频会议。由于不保证数据完整性,可能会丢失数据包,不适合传输重要或需要顺序保证的数据。
5. **TCP协议**:Transmission Control Protocol(传输控制协议)是面向连接的、可靠的协议,通过三次握手建立连接,提供顺序传输和错误检测。三次握手的第一步是客户端发送SYN请求,等待服务器确认。
6. **DatagramPacket类**:在Java中,DatagramPacket用于封装UDP数据报,包含数据和目标/源IP地址及端口号。它在发送和接收UDP数据时扮演关键角色。
7. **DatagramSocket类**:DatagramSocket是UDP通信的基础,提供发送和接收数据报的方法。send()方法用于发送DatagramPacket,receive()方法用于接收。
8. **ServerSocket类**:在Java中,ServerSocket用于创建服务器端套接字,bind()方法绑定到特定的IP地址和端口,listen()方法监听连接请求,accept()方法接受客户端的连接。
9. **Socket类**:Socket代表TCP协议的客户端套接字,connect()方法连接到服务器,getInputStream()和getOutputStream()分别获取输入流和输出流,用于进行双向通信。
这些知识点构成了Java网络编程的基础,涵盖了IP地址、端口号的概念,以及Java中处理网络通信的InetAddress、UDP(DatagramPacket和DatagramSocket)和TCP(ServerSocket和Socket)的相关类和方法。通过训练案例,学习者可以深入理解并实践这些概念和技术。