上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 1.import os os.urandom(num) 随机出一个num位的随机bytes 2.import hamc md5_obj = hmac.new(盐,随机字符串) r = md5_obj.digest() 拿到一个bytes的结果,也就是密文 补充:hashlib的加密 # md5_obj = hashlib.md5(sor) # md5_obj.update(r_str.encode 阅读全文
posted @ 2019-10-22 12:20 LBC不认输 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 1.sendall() #将数据一次性发送,即不进行拆包(区别于send()) 2.setblocking(False) #设置accept和recv两个方法的阻塞与非阻塞状态 (非阻塞IO模型解决阻塞IO模型) #参数为False 代表设置为非阻塞状态 #参数为True(或者不写)默认为阻塞状态 3.settimeout() #设置等待超时时间 ... 阅读全文
posted @ 2019-10-22 12:17 LBC不认输 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 本知识需要注意! 1.客户端输入路径后,到达服务器端需要先加上"/"否则可能会出错 2.找到该路径下的目录内容调用os的listdir()方法,返回的是一个列表的形式,必须将其格式化为字符串 3.目录内容格式化为字符串,需要用某个字符去作为分隔符,再用分隔符.join()的方法将列表转为指定分隔符分隔的字符串 4.到达客户端时,输出split()按某个特定分隔符分... 阅读全文
posted @ 2019-10-22 12:17 LBC不认输 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: #server层 # 切换目录 import socket import os sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr = sk.accept() def send_data(conn,path): '''你给我一个目录,我把目录发给client''' lis_dir = os.listdir(p 阅读全文
posted @ 2019-10-22 12:15 LBC不认输 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 解决粘包 模块struct struct.pack(type,num) type:是num的类型 num :是一个数字 r = struct.pack 把一个数字打包成一个四字节的bytes struct.unpack(type,r) 功能:解包,把r解成原数字,结果是一个元组,原数字在元组的... 阅读全文
posted @ 2019-10-22 12:15 LBC不认输 阅读(1950) 评论(0) 推荐(0) 编辑
摘要: 粘包问题: 发送端发送数据,接收端不知道应该如何接收而造成的一种数据混乱的现象 只有tcp协议才会发送粘包(数据链路层),udp(传输层)不会发生 udp不会发生粘包,udp协议本层对一次收发数据大小的限制是: 65535 - ip包头(20) - udp包头(8) = 65507 针对 使用udp 阅读全文
posted @ 2019-10-22 12:13 LBC不认输 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 在python中调用操作系统的命令 import os import subprocess # r = os.popen('ipconfig') r = subprocess.Popen('ls',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)、 # subprocess.Popen(cmd,shell=True,subproce 阅读全文
posted @ 2019-10-22 12:09 LBC不认输 阅读(351) 评论(0) 推荐(0) 编辑
摘要: #-------server层 import socket import json sk=socket.socket() sk.bind(('10.70.2.143',8080)) sk.listen() conn,addr=sk.accept() #通信 str_dic=conn.recv(9090).decode('utf-8') #将字符串形式反序列化为字典 dic=json.loads(... 阅读全文
posted @ 2019-10-22 12:08 LBC不认输 阅读(417) 评论(0) 推荐(0) 编辑
摘要: #自定义类 import socket class Mysocket(socket.socket): #继承自socket文件中的socket类 def __init__(self,encoding='utf-8'): self.encoding='utf-8' super(Mysocket, self).__init__(type=socket.SOCK_DGRAM) #执行父类socketz中 阅读全文
posted @ 2019-10-22 12:08 LBC不认输 阅读(213) 评论(0) 推荐(0) 编辑
摘要: #TCP协议实现(发送消息的顺序无要求)(以conn为对象发送和接收消息)(字节流) #-------serve层 import socket import time sk=socket.socket() sk.bind(('10.70.2.143',8080)) #1.服务器地址 2.服务器端口,0~65535范围,但是0~1023最好不要用 sk.... 阅读全文
posted @ 2019-10-22 12:07 LBC不认输 阅读(487) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页