自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 python实现文件传输功能

基于之前解决粘包问题后,来实现文件传输我们就不用subprocess模块了,要传输文件首先需要打开文件以字节的格式传给对方,再让对方解码得到文件。但在这之前,我们还需要制定一下规则,确定一下客户端需要什么文件。他发给服务端的请求格式。比如:cmd = input('>>:').strip() # get a.txtif not cmd: continuephone.send(cmd.encode("gbk"))客户端输入‘get a.txt’给服务端,服务端需要把这个消息分成两

2020-05-14 18:19:15 2757

原创 解决粘包问题(python)

在传输数据消息时因为TCP协议使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包,这样,接收端就难于分辨出来了,所以会产生粘包效果。 在这种情况下我们需要制作一个报头来告诉接收端我们要发送的数据的长度,来方便接收端接收。 第一步:制作固定长度的报头header_dic = { 'filename': 'a.txt', 'md5': 'xxxdxxx', 'total_size': len(stdeer) +...

2020-05-12 21:58:08 202

原创 模拟ssh远程执行命令

在socket的模块可以发送数据消息的基础上,我们想远程发送一些系统命令来调试服务器。执行系统命令的模块一开始可能给会想到os模块,但我们在使用os模块群无法拿出os模块调用处的结果。如:import osres = os.system('dir')print('命令的结果:', res)显示结果为:(这里显示乱码,因为Windows系统上文件都为gbk,但pycharm上Global Encoding为utf-8。我们在这里看到把res取出来结果为0,这个0是来判断命令是否执行。0代表执行,非

2020-05-12 15:07:34 397

原创 TCP协议和UDP协议的基础框架(python)

加粗 斜体 标题 删除线 无序 有序 待办 引用TCP协议的基础框架1、服务端import socket# 创建服务端server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定服务器的IP和端口server.bind(('127.0.0.1', 8848)) # 这个IP在同一台机子上调试用# 监听serv

2020-05-11 18:21:31 368

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除