Chat finalizado
This commit is contained in:
parent
bf56431785
commit
63b89b59ae
|
|
@ -1,9 +1,24 @@
|
||||||
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()
|
||||||
|
|
||||||
|
|
@ -11,7 +26,13 @@ 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()
|
||||||
|
|
@ -20,5 +41,4 @@ 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()
|
||||||
|
|
||||||
|
|
@ -10,13 +10,18 @@ clientes = []
|
||||||
|
|
||||||
def ouvir_cliente(cliente):
|
def ouvir_cliente(cliente):
|
||||||
while True:
|
while True:
|
||||||
mensagem = cliente.recv(1024)
|
try:
|
||||||
for socket_cliente in clientes:
|
mensagem = cliente.recv(1024)
|
||||||
if socket_cliente != cliente:
|
for socket_cliente in clientes:
|
||||||
socket_cliente.send(mensagem)
|
if socket_cliente != cliente:
|
||||||
|
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()
|
||||||
Loading…
Reference in New Issue