python socket传输列表_Python Socket传输文件示例

本文介绍了使用Python的socket库实现实时传输文件的方法,包括发送端和接收端的详细代码实现,支持多并发和文件重命名。通过接收端不断接收新文件,发送端不断发送文件,展示了Socket在文件传输中的应用。
摘要由CSDN通过智能技术生成

发送端可以不停的发送新文件,接收端可以不停的接收新文件。

例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_visio.rar,支持多并发,具体实现如下;

接收端:

方法一:

#-*- coding: UTF-8 -*-

import socket,time,SocketServer,struct,os,thread

host='192.168.50.74'

port=12307

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义socket类型

s.bind((host,port)) #绑定需要监听的Ip和端口号,tuple格式

s.listen(1)

def conn_thread(connection,address):

while True:

try:

connection.settimeout(600)

fileinfo_size=struct.calcsize('128sl')

buf = connection.recv(fileinfo_size)

if buf: #如果不加这个if,第一个文件传输完成后会自动走到下一句

filename,filesize =struct.unpack('128sl',buf)

filename_f = filename.strip('\00')

filenewname = os.path.join('e:\\',(&#

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值