1 OSI七层网络模型
计算机之间的通信也要遵循不同层次的协议,来实现计算机的通信。
-应用层,表示层,会话层/传输层/网络层/数据链路层,物理层
-TCP/IP网络模型-应用层,传输层,网络层,网络接入层
TCP可以保证数据的正确性,效率比UDP低,UDP校验和可以省略-UDP无法保证数据的正确性
1.1 传输协议
TCP 需要三次握手来连接数据传输服务
UDP不保证可靠,无连接的数据传输服务
2.1 Socket
http协议的底层是Socket ,Socket-套接字,纯c,通过io传输,网络通信是socket之间通信。
语句:运输层和应用层的过度
特性: 跨平台
过程:
1.创建Socket
2.连接到服务器
3.发送数据/接收数据
4.关闭连接
2.2socket通信过程
2.2.1.头文件声明
#import <sys/socket.h>
#import<netinet/in.h>
#import<arpa/inet.h>
2.2.2.socket函数实现
参数:domain: AF_INET AF_INET6 AF_LOCAL
type: 流失TCP-SOCK_STREAM 数据报UDP-SOCK_DGRAM
protocol: IPPROTO_TCP、IPPROTO_UDP...
return: 失败-1
2.2.3.connect函数实现
参数1, 套接字描述服
2,指向数据结构socketaddr的指针-端口和ip地址
3,sockeaddr通过sizeof获取
网络字节用大尾顺序-htons
2.2.4 mac 开模拟器
nc -lk 12345
nc -> Netcat
3 发送数据给服务器
4 接收服务器的数据
5.关闭连接
close(clientSocket);
--