我正在为学校构建一个小的 Python 服务器脚本,它必须读取文件并将其发送到客户端。
现在,我需要服务器同时响应来自客户端的多个请求。目前它只接受 1 个客户......并且在客户被回答后,它会移动到下一个。
我的老师告诉我使用多个进程/线程来实现这一点。我是 Python 新手,所以我不知道如何管理它。
我怎样才能做到这一点?
这是我的代码:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
s.listen(backlog)
while 1:
print "server ready, waiting..."
client, address = s.accept()
print "recvd client", address
data = client.recv(size)
if data:
parametro_data = data.split(' ')
if(parametro_data[0] == '/GET'):
theFile = parametro_data[1].replace('\r\n','')
if os.path.isfile(theFile):
f = open(theFile, 'r')
for line in f:
client.send(line)
f.close()
else:
client.send("File not exists")
client.close()