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('