介绍
这篇文章将为大家详细讲解有关python怎么实现UDP协议下的文件传输,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强> UDP协议下文件传输:强>
<强>服务端强>
import 插座 count =0 时间=s socket.socket (socket.AF_INET, socket.SOCK_DGRAM) server_addr =, (& # 39; 127.0.0.1 # 39;, 9999) s.bind (server_addr) 打印(& # 39;Bind UDP 提醒9999…& # 39;) while 真正的: ,if count ==, 0: 数据,才能client_addr =, s.recvfrom (1024) 打印才能(& # 39;connected 得到% s: % & # 39; % client_addr) f =,开放才能(数据,& # 39;wb # 39;) 数据的不同之处是,client_addr =, s.recvfrom (1024) str(数据),if !=,“b # 39;结束# 39;“: f.write才能(数据) 打印才能(& # 39;recieved & # 39; + str(数)+ & # 39;,字节# 39;) ,其他的: ,打破 ,s.sendto(& # 39;好# 39;.encode (& # 39; utf - 8 # 39;), client_addr) 计数+=1 打印(& # 39;recercled& # 39; + str(计数) f.close () s.close () ,#数据,addr =, s.recvfrom (1024) ,#打印(& # 39;Received 得到% s: % & # 39;, % addr) ,# s.sendto (b # 39;你好,,% s ! & # 39;, %数据,addr)
<强>客户端强>
import 插座 import 操作系统 import 时间 def Get_FilePath_FileName_FileExt(文件名): ,filepath, tempfilename =, os.path.split(文件名) ,shotname, extension =, os.path.splitext (tempfilename) ,return filepath shotname,扩展 时间=s socket.socket (socket.AF_INET, socket.SOCK_DGRAM) 时间=filename 输入(& # 39;please  enter 从而filename 你want 用发送:\ n # 39;) filepath, shotname, extension =, Get_FilePath_FileName_FileExt(文件名) client_addr =, (& # 39; 127.0.0.1 # 39;, 9999) f =, open (filename, & # 39; rb # 39;) count =0 flag =1 while 真正的: ,if count ==, 0: data 才能=,字节(shotname +扩展,encoding =,“utf8") 时间=start 才能;time.time () client_addr s.sendto才能(数据)=,,data  f.read (1024) str(数据),if !=,“b # 39; & # 39;“: client_addr s.sendto才能(数据) 打印才能(str(数)+ & # 39;字节# 39;) ,其他的: s.sendto才能(& # 39;结束# 39;.encode (& # 39; utf - 8 # 39;), client_addr) ,打破 数据的不同之处是,server_addr =, s.recvfrom (1024) 计数+=1 打印(& # 39;recircled& # 39; + str(计数) s.close 最终获得=,time.time () 打印(& # 39;成本# 39;+ str(圆(end-start, 2)) + & # 39; & # 39;) #,for data 拷贝(b # 39;迈克尔# 39;b # 39;特雷西# 39;,b # 39;莎拉# 39;): #,,s.sendto(数据,(& # 39;127.0.0.1 # 39;,9999)) #,,print (s.recv (1024) .decode (& # 39; utf - 8 # 39;)) #,s.close ()
此次试验为100000字节大小的文件,运行后查看服务器端信息:
客户端上查看传输时延:
关于“python怎么实现UDP协议下的文件传输”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。