Chatroom Server em Python
Publicado por henrique (última atualização em 21/05/2022)
[ Hits: 2.746 ]
Homepage: naotem.com
Server do chat room em python
#!/bin/python3 import threading import socket from sys import argv red = "\033[1;31m" blue = "\033[1;34m" cyan = "\033[1;36m" green = "\033[0;32m" reset = "\033[0;0m" bold = "\033[;1m" reverse = "\033[;7m" white = "\033[37m" gray = "\033[0;37m" def usage(): print('-' * 90 + green + ''' █████████ █████ █████ █████████ ███████████ ███████████ █████ █████ ███░░░░░███░░███ ░░███ ███░░░░░███ ░█░░░███░░░█ ░░███░░░░░███░░███ ░░███ ███ ░░░ ░███ ░███ ░███ ░███ ░ ░███ ░ ░███ ░███ ░░███ ███ ░███ ░███████████ ░███████████ ░███ ░██████████ ░░█████ ░███ ░███░░░░░███ ░███░░░░░███ ░███ ░███░░░░░░ ░░███ ░░███ ███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░░█████████ █████ █████ █████ █████ █████ ██ █████ █████ ░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░ ░░░░░ ░░░░░ exemplo: ./chats.py <ip> <port> '''.title() + reset + '-' * 90) try: host = argv[1] port = int(argv[2]) except: usage() exit() server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((host, port)) server.listen() clients = [] nicknames = [] def broadcast(message): for client in clients: client.send(message) def handle(client): while True: try: message = client.recv(1024) broadcast(message) except: index = clients.index(client) clients.pop(index) client.close() nickname = nicknames[index] broadcast(f'{nickname} Saiu do chat'.encode('ascii')) nicknames.pop(index) print(reset) break def receive(): while True: client, address = server.accept() print(red + f"Conectado pelo: {str(address)}") client.send('Usuario:'.encode('ascii')) nickname = client.recv(1024).decode('ascii') nicknames.append(nickname) clients.append(client) print(f'novo usuario conectado: {nickname}'.capitalize()) broadcast(f'{nickname} Entrou no chat'.encode('ascii')) client.send('\nConectou no server'.encode('ascii')) thread = threading.Thread(target=handle, args=(client,)) thread.start() print("Em busca...") receive()
Scanner Wifi in Python [very simple and helpful]
Shell reverso em Python - cliente
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Será possível instalar Linux Mint LMDE em Sony Vaio? (18)
O livro "Linux - Guia do Administrador do Sistema (Rubem E. Ferre... (1)
Como redefinir o diretório Home? (2)
Posso instalar usar o grub sem ter linux instalado, para iniciar o win... (2)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (6)