Commit chat 'finalizado'

This commit is contained in:
Simon Gonçalves Costa 2026-05-08 21:32:11 -03:00
parent 3fafa79fbf
commit 58d4d0b6e5
2 changed files with 38 additions and 15 deletions

View File

@ -1,24 +1,44 @@
import tkinter as tk import tkinter as tk
from tkinter import scrolledtext from tkinter import scrolledtext
import socket
import threading
def ouvir_servidor(socket_servidor):
while True:
mensagem = socket_servidor.recv(8000)
area_mensagens.config(state="normal")
area_mensagens.insert(tk.END, mensagem.decode() + "\n")
area_mensagens.config(state="disabled")
socket_servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_servidor.connect(("10.209.1.45",5000))
thread = threading.Thread(target=ouvir_servidor, args=[socket_servidor,])
thread.start()
janela = tk.Tk() janela = tk.Tk()
janela.title("Chat do IFRN") janela.title("Chat do IFRN")
rotulo_mensagem = tk.label(janela, text="Digite sua mensagem") rotulo_mensagem = tk.Label(janela, text="Digite sua mensagem")
rotulo_mensagem.pack() rotulo_mensagem.pack()
entrada_mensagem = tk.Entry(janela, width=100) entrada_mensagem = tk.Entry(janela, width=80)
entrada_mensagem.pack entrada_mensagem.pack()
def clicar(): def clicar():
print("Fui clicado") mensagem = entrada_mensagem.get()
print(mensagem)
socket_servidor.send(mensagem.encode())
entrada_mensagem.delete(0, tk.END)
area_mensagens.config(state="normal")
area_mensagens.insert(tk.END, mensagem + "\n")
area_mensagens.config(state="disabled")
botao = tk.Button(janela, text="Enviar", command=clicar) botao = tk.Button(janela, text="Enviar", command=clicar)
botao.pack() botao.pack()
area_mensagens = scrolledtext.ScrolledText(janela,) area_mensagens = scrolledtext.ScrolledText(janela)
area_mensagens.pack area_mensagens.pack()
area_mensagens.config(state="disabled") area_mensagens.config(state="disabled")
janela.mainloop() janela.mainloop()

View File

@ -10,15 +10,18 @@ clientes = []
def ouvir_cliente(cliente): def ouvir_cliente(cliente):
while True: while True:
mensagem = cliente.recv(1024) try:
mensagem = cliente.recv(8000)
for socket_cliente in clientes: for socket_cliente in clientes:
if socket_cliente != cliente: if socket_cliente != cliente:
socket_cliente.send(mensagem) socket_cliente.send(mensagem)
except Exception as e:
print(f"Ocorreu um erro inesperado: {e}")
return
while True: while True:
cliente, endereco_cliente = servidor.accept() cliente, endereco_cliente = servidor.accept()
print("Cliente conectado:", endereco_cliente)
clientes.append(cliente) clientes.append(cliente)
thread = threading.Thread(target=ouvir_cliente, args=[cliente,]) thread = threading.Thread(target=ouvir_cliente, args=[cliente,])
thread.start() thread.start()