Python Socket传输文件
发送端可以不停的发送新文件,接收端可以不停的接收新文件。
例如:发送端输入:e:visio.rar,接收端会默认保存为 e: ew_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('