在python的socket编程中,可以实现上传下载文件,并且在下载的时候,显示进度条,具体的流程如下图所示:
1、 服务器端代码如下:
[root@python 519]# cat server.py
#!/usr/bin/env python
import time
import SocketServer
HOST = '192.168.1.60'
PORT = 9999
#定义一个接收所有文件的方法,传递的参数为socket对象,文件名称和文件大小
def recv_all(socketobj,file_name,file_size):
f = open('/tmp/%s' % file_name,'w')
while file_size > 0:
if file_size <= 1024:
data = socketobj.recv(1024)
f.write(data)
break
elif file_size > 1024:
data = socketobj.recv(1024)
f.write(data)
file_size -= 1024
f.close()
class MyHandler(SocketServer.BaseRequestHandler):
def handle(self):
while True:
#1.get the commands
data = self.request.recv(1024)