网络编程串讲
网络是什么
链接介质+协议
协议:osi7层
5层协议
物理层: 01001110
数据链路层: 做分组:数据报/数据帧 mac
网络层: ip 通过ip得到mac地址---arp协议 mac地址学习
传输层: tcp/udp 三次握手四次挥手,可靠传输
应用层: 写的程序都是应用层,基于socket(基于网络和传输抽象出来的)/http协议/邮件
粘包问题终极解决方案
struct模块先把头的长度包成四个字节,发送四个字节
发送头
发送内容
接收端:
接收4个字节,解除头部长度
接收头部,取出数据长度
接收数据长度
socket编写udp的客户端与服务端
不需要建立连接,传输不可靠,数据报协议(自己有头,可以为空)
socketserver写支持并发的服务端
with 上下文管理器
with open('a.avi','rb')as f:
for linr in f:
print(line)