python实现UDP协议下的文件传输


Posted in Python onMarch 20, 2020

本文实例为大家分享了python实现UDP文件传输的具体代码,供大家参考,具体内容如下

UDP协议下文件传输:

服务端

import socket

count = 0
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_addr = ('127.0.0.1',9999)
s.bind(server_addr)

print('Bind UDP on 9999...')
while True:
 if count == 0:
  data,client_addr = s.recvfrom(1024)
  print('connected from %s:%s'%client_addr)
  f = open(data, 'wb')
 data, client_addr = s.recvfrom(1024)
 if str(data) != "b'end'":
  f.write(data)
  print('recieved '+str(count)+' byte')
 else:
  break
 s.sendto('ok'.encode('utf-8'),client_addr)
 count+=1
print('recercled'+str(count))
f.close()
s.close()

 # data, addr = s.recvfrom(1024)
 # print('Received from %s:%s' %addr)
 # s.sendto(b'Hello, %s!' %data, addr)

客户端

import socket
import os
import time

def Get_FilePath_FileName_FileExt(filename):
 filepath, tempfilename = os.path.split(filename)
 shotname, extension = os.path.splitext(tempfilename)
 return filepath, shotname, extension

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

filename = input('please enter the filename you want to send:\n')
filepath, shotname, extension = Get_FilePath_FileName_FileExt(filename)

client_addr = ('127.0.0.1',9999)
f = open(filename,'rb')
count = 0
flag = 1
while True:
 if count == 0:
  data = bytes(shotname+extension, encoding = "utf8")
  start = time.time()
  s.sendto(data,client_addr)
 data = f.read(1024)
 if str(data) != "b''":
  s.sendto(data,client_addr)
  print(str(count)+'byte')

 else:
  s.sendto('end'.encode('utf-8'),client_addr)
  break
 data, server_addr = s.recvfrom(1024)
 count+=1
print('recircled'+str(count))
s.close
end = time.time()
print('cost'+str(round(end-start,2))+'s')
# for data in [b'Michael',b'Tracy',b'Sarah']:
#  s.sendto(data,('127.0.0.1',9999))
#  print(s.recv(1024).decode('utf-8'))
# s.close()

此次试验为100000Byte大小的文件,运行后查看服务器端信息:

python实现UDP协议下的文件传输

客户端上查看传输时延:

python实现UDP协议下的文件传输

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入理解Python 代码优化详解
Oct 27 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
Python中sort和sorted函数代码解析
Jan 25 Python
python数据封装json格式数据
Mar 04 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
ipython和python区别详解
Jun 26 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
django项目简单调取百度翻译接口的方法
Aug 06 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
pandas中pd.groupby()的用法详解
Jun 16 Python
python实现TCP文件传输
Mar 20 #Python
python实现FTP循环上传文件
Mar 20 #Python
python实现ftp文件传输功能
Mar 20 #Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 #Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 #Python
python实现ftp文件传输系统(案例分析)
Mar 20 #Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 #Python
You might like
用PHP实现的随机广告显示代码
2007/06/14 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
php的curl封装类用法实例
2014/11/07 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
红米手机抢购的js代码
2014/03/10 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
python脚本替换指定行实现步骤
2017/07/11 Python
import的本质解析
2017/10/30 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
python动态进度条的实现代码
2019/07/03 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
python中time tzset()函数实例用法
2021/02/18 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
优秀英语专业毕业生求职信
2013/11/23 职场文书
主要领导对照检查材料
2014/08/26 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
政风行风整改报告
2014/11/06 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书