网络编程概述
 
一、什么是网络编程?
 
网络编程是 让不同计算机或设备通过网络协议进行数据交换 的软件开发技术。
 其核心目标是:
 
- 实现设备间的 可靠通信(如网页浏览、文件传输)
- 支持 实时交互(如视频通话、在线游戏)
- 构建 分布式系统(如微服务、云计算)
 
二、核心基础概念
 
| 概念 | 作用 | 类比说明 | 
|---|
| IP地址 | 设备的唯一网络标识(如 192.168.1.1) | 相当于"电话号码" 。定位网络中的某台计算机 | 
| 端口号 | 标识应用程序的通信入口(范围:0-65535) | 相当于"分机号" 。定位计算机上的某个进程(某个应用) | 
| 协议 | 通信规则集合(如TCP、UDP、HTTP) | 相当于"语言沟通的语法规则" | 
| Socket | 网络通信的编程接口(收发数据的端点) | 相当于"电话听筒" | 
 
 
三、网络分层模型(TCP/IP四层)
 
| 层级 | 典型协议 | 编程关注点 | 
|---|
| 应用层 | HTTP, FTP, WebSocket | 处理业务逻辑(如JSON/XML数据解析) | 
| 传输层 | TCP, UDP | 选择可靠传输或高效传输 | 
| 网络层 | IP, ICMP | 路由寻址(通常由操作系统处理) | 
| 网络接口层 | Ethernet, WiFi | 物理设备驱动(程序员不直接操作) | 
 
 
四、关键协议对比
 
| 特性 | TCP | UDP | 
|---|
| 连接方式 | 面向连接(三次握手) | 无连接 | 
| 可靠性 | 保证数据顺序和完整到达 | 可能丢包、乱序 | 
| 速度 |