From bf5643178565d81e0079977b4d2f752367b911ac Mon Sep 17 00:00:00 2001 From: Joao Date: Fri, 17 Apr 2026 21:47:22 -0300 Subject: [PATCH] thread e chat com sockets --- sockets/cliente_chat.py | 24 ++++++++++++++++++++++++ sockets/servidor_chat.py | 22 ++++++++++++++++++++++ tabuada.py | 3 +++ thread/exemplo1.py | 20 ++++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 sockets/cliente_chat.py create mode 100644 sockets/servidor_chat.py create mode 100644 tabuada.py create mode 100644 thread/exemplo1.py diff --git a/sockets/cliente_chat.py b/sockets/cliente_chat.py new file mode 100644 index 0000000..1b4629d --- /dev/null +++ b/sockets/cliente_chat.py @@ -0,0 +1,24 @@ +import tkinter as tk +from tkinter import scrolledtext + +janela = tk.Tk() +janela.title("Chat do IFRN") + +rotulo_mensagem = tk.Label(janela, text="Digite sua mensagem") +rotulo_mensagem.pack() + +entrada_mensagem = tk.Entry(janela, width=80) +entrada_mensagem.pack() + +def clicar(): + print("Fui clicado") + +botao = tk.Button(janela, text="Enviar", command=clicar) +botao.pack() + +area_mensagens = scrolledtext.ScrolledText(janela) +area_mensagens.pack() +area_mensagens.config(state="disabled") + +janela.mainloop() + diff --git a/sockets/servidor_chat.py b/sockets/servidor_chat.py new file mode 100644 index 0000000..dfca560 --- /dev/null +++ b/sockets/servidor_chat.py @@ -0,0 +1,22 @@ +import socket +import threading + +servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +servidor.bind(("0.0.0.0",5000)) +servidor.listen() +print("Servidor inicializado!!!") + +clientes = [] + +def ouvir_cliente(cliente): + while True: + mensagem = cliente.recv(1024) + for socket_cliente in clientes: + if socket_cliente != cliente: + socket_cliente.send(mensagem) + +while True: + cliente, endereco_cliente = servidor.accept() + clientes.append(cliente) + thread = threading.Thread(target=ouvir_cliente, args=[cliente,]) + thread.start() \ No newline at end of file diff --git a/tabuada.py b/tabuada.py new file mode 100644 index 0000000..8d0e136 --- /dev/null +++ b/tabuada.py @@ -0,0 +1,3 @@ +numero = int(input("Digite um número: ")) +for i in range(11): + print(f"{numero}x{i}={numero*i}") \ No newline at end of file diff --git a/thread/exemplo1.py b/thread/exemplo1.py new file mode 100644 index 0000000..499600f --- /dev/null +++ b/thread/exemplo1.py @@ -0,0 +1,20 @@ +import threading +import time + + +# Função que será executada pela thread +def executar(nome_thread, n_iteracoes): + for i in range(n_iteracoes): + print(f"Nome da thread: {nome_thread}") + time.sleep(2) # Parar por 2s + +t1 = threading.Thread(target=executar,args=["Thread1",15,]) +t2 = threading.Thread(target=executar,args=["Thread2",10,]) + +t1.start() +t2.start() + +t1.join() +t2.join() + +print("Final da thread principal")