def run(self): while self.running: try: # Attesa di una connessione # print("\nAttesa di una connessione...\n") (clientSocket, addr) = self.serverSocket.accept() # Connessione ricevuta, estrae l'username username = ml.strReceive(clientSocket) print("\nConnessione di", username, "con parametri", addr) console_print("\nConnessione di", username, "con parametri", addr) # Creazione thread, avvio e ritorno ad ascoltare svc = UserHandler(clientSocket, addr, username) svc.start() running_thread.append(svc) update_users() # print("Thread inizializzato con successo") # console_print("Thread inizializzato con successo") except ConnectionResetError: print("Client chiuso forzatamente dall'utente") console_print("Client chiuso forzatamente dall'utente") except Exception as e: print("Arresto del server in corso") console_print("Arresto del server in corso")
def run(self): try: while self.running: msg = ml.strReceive(self.socket) # Ricezione messaggio # Comando di uscita, il thread viene terminato if msg == 'quit': client_quitted(self.socket, self.username) remove_connection(self.socket) break now = timespamp() print("[" + now + "]", self.username + ": " + msg) console_print("[" + now + "]" + self.username + ": " + msg) forward(self.socket, self.username, msg) except ConnectionResetError: # Nel caso il client venga chiuso dalla X client_closed(self.socket, self.username) remove_connection(self.socket) except ValueError: # Nel caso il client venga chiuso dalla X client_closed(self.socket, self.username) remove_connection(self.socket) except Exception as e: remove_connection(self.socket) print(self.username, "è crashato") console_print(self.username, "è crashato")
def run(self): try: while True: msg = ml.strReceive(self.s) # Ricezione messaggio now = datetime.now().strftime("%d-%m-%Y %H:%M:%S") # Data corrente # Comando di uscita, il thread viene terminato if msg == 'quit': out = "["+now+"] " + self.username + " ha abbandonato la chat" print(out) ml.strSend(self.s, out) # Messaggio di termine send_to_all(self.s, self.username, out) self.s.close() connessioni.remove(self.s) break; print("["+now+"]", self.username + ": " + msg) send_to_all(self.s, self.username, msg) except ConnectionResetError: # Nel caso il client venga chiuso dalla X client_closed(self.s, self.username) except ValueError: # Nel caso il client venga chiuso dalla X client_closed(self.s, self.username)
def run(self): while self.running: msg = ml.strReceive(self.s) print(msg)
client_closed(self.s, self.username) except ValueError: # Nel caso il client venga chiuso dalla X client_closed(self.s, self.username) # # Creazione socket e ascolto su HOST e PORT # serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serverSocket.bind((ml.HOST, ml.PORT)) print("Server Two avviato su", ml.HOST, ":", ml.PORT) # Il server ascolta serverSocket.listen(5) while True: # Attesa di una connessione print("\nAttesa di una connessione...\n") (clientSocket, addr) = serverSocket.accept() username = ml.strReceive(clientSocket) # Connessione ricevuta, estrae l'username print("\nConnessione di", username, "con parametri", addr) connessioni.append(clientSocket) # Creazione thred, avvio e ritorno ad ascoltare svc = Service(clientSocket, addr, username) svc.start() print("Thread inizializzato con successo") print("Server terminated.")
# # Server One # Team: Sandro Gallo # last-updated: 10/04/2020 by Sandro # import socket import mylib as ml # Create a socket object (server) serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # and Bind it to the addr:port serverSocket.bind((ml.HOST, ml.PORT)) print("Server One started on", ml.HOST, ":", ml.PORT) # Wait for client connection. serverSocket.listen(5) while True: # Wait for a connection request from any client print("\nwaiting a client connection ...") (clientSocket, addr) = serverSocket.accept() print('Got connection from', addr) # receiving a message from client msg = ml.strReceive(clientSocket) print("Received message: ", msg) # Close the connection clientSocket.close() if msg=='quit': break print("Server terminated.")