上节课复习
1、什么是套接字:
套接字位于应用层与传输层之间,将传输层一下的协议都封装成了接口
对于应用层来说只需要调用套接字的接口,写出的程序自然是遵循tcp或udp...
2、c/s
server必须遵循:
1、稳定运行,对外一直提供服务
2、服务必须绑定IP和端口
subprocess模块
#subprocess 模块 import subprocess #这个模块用来执行系统命令 subprocess子进程的意思 import time obj=subprocess.Popen( 'tasklist', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # print(obj)#得到一个内存地址 # time.sleep(10)#可以看到进程 子进程结束 父进程在睡10秒 #这一步代表生了个儿子出来 #第一个参数必须是字符串形式的命令 第二个必须加shell=True shell的意思是命令解释器 这一步其实在调命令解释器 #stdout 代表命令正确运行的结果 #stderr 代表命令错误运行的结果 #管道其实就是进程与进程之间共享数据的地方 #正确的命令从管道里面输给父进程,让父进程使用 #错误的结果也往管道里面丢 这样取得时候就有针对性 stdout_res=obj.stdout.read()#从正确管道读结果 print(stdout_res.decode('gbk'))#bytes类型 #总结 #subprocess模块的应用
报头是对数据加译描述的
报头要固定长度为的是收数据的时候知道报头多长
totalsize是报头和数据长度结合吗??
struct模块
该模块可以把一个类型,如数字转成固定长度的bytes类型
import struct a = struct.pack('i',848544)#i表示类型 print(a,len(a))
什么是报头?报头是对数据有描述性的功能。