ファイルを読み取ってクライアントに送信する必要がある、学校用の小さな 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()