网络编程基础总结
IP地址分类使用:
A类:二进制0开头(1-127)
B类:二进制10开头(128-191)
C类:二进制110开头(192-223)
D类:二进制1110开头(224-239)
E类:二进制11110开头(240-255)
特殊地址:
一、数据包不会出现在Internet上:
- 10.0.0.0-10.255.255.255
- 172.16.0.0-172.31.255.255
- 192.168.0.0-192.168.255.255
二、环回地址:
- 127.0.0.1/localhost
端口
端口是协议端口号的简称,其端口号范围为0-65535
- 熟知端口号:0-1023;常用的服务器使用
- 登记端口号(到机构登记其使用)1024-49151
- 客户端使用的短暂端口号(49152-65535)
注意:编程时指定地址时,最少应指定IP地址和端口号,其格式为:IP地址:80
TCP/UDP协议
UDP协议(传输控制协议)
- 无连接,减少网络开销和时延
- 尽最大努力交付,上层应对数据作验证处理
- 无拥塞控制,用在保证速率的数据传送中(IP电话、网络视频)
- 面向连接的通讯协议(通信前应先建立连接,实质为虚连接)
- 应用举例:TFTP、DNS、SNMP、VoIP、QQ
TCP协议(用户数据报协议)
- 面向连接的通讯协议(通信前应先建立连接,实质为虚连接)
- 提供可靠的交付服务
- 实现了全双工通信
- 面向字节流(传输的任何数据被视为二进制代码流)
- 一个连接只能有两个传输端点
- 应用举例:HTTP、FTP、TELNET、POP、SMTP
TCP/UDP协议不同点:
- TCP应先建立连接,再通信,最后应释放连接;UDP不用管理连接。
- TCP保证数据可靠交付,用起来更省心;UDP不保证可靠交付,用户应自行处理可靠性。
- TCP连接开销大;UDP则开销小。
- TCP适用实时性低,但数据可靠性高的场合;UDP适用实时性高,但数据可靠性低的场合。
TCP/UDP协议相同点:
- 位于TCP/IP协议的第四层。
- 为应用层提供服务。
- 都要通过网际层来具体实现数据传输
用socket实现TCP客户端
基本步骤:
- 创建套接字,连接服务器
- 收发数据
- 关闭套接字
TCP通信模型:
用socket实现UDP客户端
基本步骤:
- 创建套接字
- 收发数据
- 关闭套接字
UDP通信模型:
用socket实现服务器端
C/S模式简介:
C/S模式就是client/Server模式,中文为客户/服务器模式
- client即客户端,是指主动向服务器发出服务请求的一方。
- Server即服务器,是指响应客户请求并提供客户所需要的网络服务的一方。
- 服务器一般在系统启动时自动调用运行,并等待客户机的请求。
- 与其相对的是B/S模式,即浏览器/服务器模式。
客户端使用统一的浏览器,而不用专门的部署。
服务器端与浏览器间使用应用层的HTTP协议进行通信。
套接字网络编程基础
用socket建立TCP服务器端:
- 创建套接字并绑定地址
- 开始监听连接
- 接收连接并收发数据
- 关闭套接字
TCP通信模型:
用socket建立UDP服务器端:
1. 创建套接字并绑定地址
2. 开始监听连接
3. 收发数据
4. 关闭套接字UDP通信模型: