一、网络编程
(一)定义和基本概念
- 网络编程是指编写程序使计算机能够在网络环境中进行通信的技术。它涉及到多个计算机之间的数据传输、资源共享和协同工作等操作。其核心是利用网络协议,这些协议规定了数据如何在网络中打包、传输、接收和解析。
(二)网络编程模型
- 客户 - 服务器模型(C/S)
- 服务器端:服务器程序负责监听特定端口,等待客户端的连接请求。一旦收到请求,就会建立连接并与客户端进行通信。例如,在一个 Web 服务器中,服务器程序会在 80 端口(HTTP 协议默认端口)等待客户端(浏览器)的请求。当浏览器请求一个网页时,服务器会接收请求,处理请求(如从硬盘中读取网页文件),然后将处理后的结果(网页内容)发送回客户端。
- 客户端:客户端程序主动发起连接请求到服务器的指定端口。以 Web 浏览为例,当用户在浏览器中输入网址并回车时,浏览器就作为客户端向对应的 Web 服务器发送请求。客户端还负责接收服务器返回的数据,并根据应用场景进行相应的处理,如在浏览器中解析并显示网页内容。
- 对等模型(P2P)
- 在对等模型中,网络中的各个节点地位平等,每个节点既可以作为客户端也可以作为服务器。例如,在文件共享 P2P 网络中,一个节点可以向其他节点请求文件(作为客户端)ÿ