Простой Python-сервер для нескольких подключений - PullRequest
0 голосов
/ 07 мая 2019

Я настраиваю простой локальный сетевой сервер Python, вот мой код, но он обрабатывает только одно соединение за раз.Как заставить его принимать несколько соединений?

Изменение параметра serverSocket.listen () не помогает

serverSocket = socket(AF_INET, SOCK_STREAM)
serverPort = 6789
print 'hostname is: ', gethostname()
serverSocket.bind(('192.168.0.103', serverPort))
serverSocket.listen(1)
while True:
     print 'Ready to serve...'
     connectionSocket, addr = serverSocket.accept()
     try:
    message =  connectionSocket.recv(1024)
    print 'Message is: ', message
    filename = message.split()[1]
    print 'File name is: ', filename
    f = open(filename[1:])
    outputdata = f.read()
    connectionSocket.send("HTTP/1.1 200 OK\r\n\r\n")
    for i in range(0, len(outputdata)):
        connectionSocket.send(outputdata[i])
    connectionSocket.send("\r\n")
    connectionSocket.close()
except IOError:
    connectionSocket.send("HTTP/1.1 404 Not Found\r\n\r\n")
    connectionSocket.send("<html><head></head><body><h1>404 Not Found</h1></body></html>\r\n")
    connectionSocket.close()
 serverSocket.close()
...