1、网络编程
在网络通信协议下,实现网络互联的不同计算机上运行的程序间可以进行数据交换;
2、网络编程三要素
IP地址:计算机之间相互通信需要一个标识号,而IP地址就是这个标识号
端口:端口号是唯一可以标识设备中的应用程序即应用程序的标识、进程的ID号
用2个字节的整表示,取值范围0~65535 0--1023之间的端口号用于一些知名网络服务和应用,1024以上的端口号为普通应用程序
通信协议:计算机网络中,连接和通信的规则称为网络通信协议
常见的通信协议有:UDP TCP
3、UDP协议:
用户数据报协议
无连接通信协议(不安全),数据的发送端和接收端不建立逻辑关系
消耗资源少,通信效率高 通常用于音频 视频 广播 组播 普通数据传输
收发数据:
发----
1、创建套接字
2、创建数据,并将数据打包
3、发送数据
4、关闭发送端
收----
1、创建套接字
2、创建一个数据包用于接收数据
3、接收数据
4、解析数据包,并将数据在控制台显示
5、关闭接受端
4、TCP协议:检测网络传输中的出错,并且具备一定的纠错能力
IP协议:不同类型的操作系统和计算机的网络连接
传输控制协议
面向连接的通信协议,数据传输前,发送端与客户端要建立逻辑关系,并且要明确服务器端与客户端,客户端向服务器端发起连接请求,每次连接都要经过三次握手;
三次握手,建立连接后,进行数据传输,TCP面向连接的这种特性可以保证数据传输的安全,应用广泛,上传下载文件,大量的数据传输,传输 效率较低
框架:
1、创建套接字socket()
2、绑定bind()
3、监听listen()
4、接受连接()
5、数据交互 recv/send read/write
6、关闭close()
OSI体系结构:七层模型 、理想化的模型、尚未实现
1、应用层:基于应用程序,获取需要传输的数据
2、表示层:对数据进行格式定义、加密以及转换
3、会话层:建立通信进程中的逻辑名字和物理名字之间的联系
4、传输层:提供可靠数据传输,差错处理及恢复(TCP)、流量控制(UDP )
5、网络层:数据分组,路由选择
6、数据链路层:数据组成可发送和接收的帧
7、物理层:传输物理信号(硬件层面 )
TCP/IP协议族
TCP :传输控制协议
IP:网间协议
UDP :用户数据报协议
ARP :地址解析协议
HTTP :超文本传输协议
FTP:文件传输协议
OSI模型与TCP/IP协议对应关系
OSI模型 TCP/IP协议
应用层
表示层 应用层
会话层
传输层 传输层
网络层 网络层
数据链路层 物理层
物理层
5、socket的类型
流式套接字(SOCK_STREAM ):面向连接的服务 TCP
数据报套接字(SOCK_DGRAM):无连接服务 UDP
原始套接字(SOCK_RAW):底层通信 (IP.ICMP.IGMP)
6、字节序:数据的存储方式
小端序:低字节存储在低地址
主机字节序
大端序:低字节存放在高地址
网络字节序
7、客户端:与用户进行数据交换的界面程序,即上位机
服务器:为客户端提供数据服务的后台软件