全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📝 1 篇文章 20 道配套习题

网络编程基础专题

专题说明

本专题系统讲解Java网络编程的核心知识点,网络编程是分布式系统和微服务架构的基础,掌握Socket、HTTP、TCP/IP、WebSocket、RPC等技术是开发网络应用的必备技能。

学习目标

  1. 掌握Socket编程的基本流程与服务端/客户端实现
  2. 理解HTTP协议的请求响应模型与常见状态码
  3. 理解TCP/IP协议的三次握手、四次挥手与可靠性机制
  4. 掌握UDP协议的特点与DatagramSocket编程
  5. 了解WebSocket全双工通信机制与应用场景
  6. 理解RPC原理与框架组成

学习内容

本专题涵盖六大核心知识点:

知识点核心内容
Socket编程Socket/ServerSocket、TCP客户端服务端、IO流操作
HTTP协议无状态特性、请求方法、状态码、请求报文结构
TCP/IP协议三次握手、四次挥手、滑动窗口、流量控制、拥塞控制
UDP协议无连接特性、DatagramSocket/DatagramPacket
WebSocket全双工通信、HTTP升级、帧类型
RPC原理序列化、服务注册发现、负载均衡、常见框架

学习建议

  1. 理解协议差异:TCP可靠但效率低,UDP不可靠但效率高,根据场景选择
  2. 掌握Socket流程:服务端bind-listen-accept,客户端connect,是网络编程基础
  3. 注意资源释放:网络连接需要正确关闭,建议使用try-with-resources
  4. 了解RPC架构:RPC是微服务通信基础,理解调用流程有助于框架使用

📝 发现内容有误?点击此处直接编辑

📝 配套习题(20 题)

1
判断题

Java中的Socket类默认使用TCP协议进行通信。

A

B

2
单选题

在Java网络编程中,服务端需要监听客户端连接,应该使用哪个类?

A

Socket

B

ServerSocket

C

DatagramSocket

D

URLConnection

3
单选题

在Java Socket编程中,当客户端想要正常关闭连接时,以下哪种做法是正确的?

A

直接调用socket.close()即可

B

先调用socket.shutdownOutput(),再读取服务端响应,最后关闭socket

C

先关闭输入流,再关闭输出流,最后关闭socket

D

只需要关闭输出流,socket会自动关闭

4
填空题

在Java Socket编程中,通过Socket对象获取输入流的方法是________________,获取输出流的方法是_________________

5
判断题

HTTP协议的默认端口号是80,HTTPS协议的默认端口号是443。

A

B

6
单选题

HTTP协议被称为"无状态协议",这是什么意思?

A

HTTP协议没有状态码

B

HTTP协议不保存请求之间的关联信息

C

HTTP协议不能传输数据

D

HTTP协议不使用TCP

7
单选题

当服务器返回HTTP状态码302时,表示什么含义?

A

请求成功

B

资源未找到

C

临时重定向

D

服务器内部错误

8
填空题

HTTP请求报文由三部分组成:______(包含方法、URL、协议版本)、______(包含元数据信息)、______(POST/PUT时包含请求数据)。

9
判断题

TCP协议是面向连接的、提供可靠传输的传输层协议。

A

B

10
单选题

TCP建立连接需要经过"三次握手",请问第二次握手时,服务端发送的标志位是什么?

A

SYN

B

ACK

C

SYN+ACK

D

FIN+ACK

11
单选题

TCP四次挥手过程中,主动关闭方在发送最后一个ACK后会进入哪个状态?

A

CLOSE_WAIT

B

LAST_ACK

C

TIME_WAIT

D

CLOSED

12
判断题

UDP协议是无连接的、不保证数据可靠到达的传输层协议。

A

B

13
单选题

Java中使用UDP协议进行网络通信时,发送数据应该使用哪个类?

A

Socket

B

ServerSocket

C

DatagramSocket

D

URLConnection

14
多选题

TCP和UDP协议有哪些区别?

A

TCP面向连接,UDP无连接

B

TCP保证可靠传输,UDP不保证

C

TCP面向字节流,UDP面向报文

D

TCP头部开销20字节,UDP头部开销8字节

15
判断题

WebSocket协议支持全双工通信,客户端和服务端可以同时发送和接收数据。

A

B

16
单选题

WebSocket连接建立时,客户端首先发送什么类型的请求?

A

普通的GET请求

B

带有Upgrade头的HTTP请求

C

TCP SYN包

D

WebSocket专用握手包

17
单选题

RPC(远程过程调用)的主要作用是什么?

A

提高数据库查询效率

B

让远程服务调用像本地方法调用一样简单

C

加密网络传输数据

D

实现负载均衡

18
单选题

在RPC调用过程中,将对象转换为可传输格式的过程称为什么?

A

编码

B

序列化

C

压缩

D

封装

19
单选题

在Dubbo RPC调用过程中,消费端调用远程方法时,请求首先经过哪个组件处理?

A

Cluster(集群层)

B

Protocol(协议层)

C

Proxy(代理层)

D

Exchange(交换层)

20
单选题

相比于RESTful API,RPC框架在微服务通信中有哪些优势?

A

使用二进制协议,传输效率更高

B

接口定义更规范,无需HTTP协议约束

C

支持长连接,减少连接建立开销

D

以上都是

← 上一个专题 线程安全与同步机制专题
下一个专题 → 设计模式专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库