Пример #1
0
        clientsToListen = []
        # Verify each 0.05 (max) sec, if a connected client is enabled to read (he sent a msg)
        try:
            clientsToListen, wList, xList = select.select(
                connectedClients, [], [], 0.05)
        except select.error:
            pass
        else:
            # Get clientSocket which have sent a msg one by one
            for clientSocket in clientsToListen:
                recvMsg = clientSocket.recv(1024)
                recvMsg = recvMsg.decode()
                if recvMsg == "close":
                    clientSocket.close()
                    clientsToListen.remove(clientSocket)
                    connectedClients.remove(clientSocket)
                    print("One client disconnected")
                else:
                    print("server.py -> receive a msg")
                    processor.peel(recvMsg)
                    processor.execute(clientSocket)
except IndexError:
    mainSocket.close()
finally:
    mainSocket.close()

print("Server close")
for clientSocket in connectedClients:
    clientSocket.close()
mainSocket.close()