progredes20261/sockets/cliente_chat.py

45 lines
1.2 KiB
Python
Raw Normal View History

2026-05-08 23:06:21 +00:00
import tkinter as tk
from tkinter import scrolledtext
2026-05-08 23:13:51 +00:00
import socket
import threading
def ouvir_servidor(socket_servidor):
while True:
2026-05-08 23:27:43 +00:00
mensagem = socket_servidor.recv(80000)
2026-05-08 23:13:51 +00:00
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()
2026-05-08 23:06:21 +00:00
janela = tk.Tk()
janela.title("Chat do IFRN")
2026-05-08 23:13:51 +00:00
2026-05-08 23:06:21 +00:00
rotulo_mensagem = tk.Label(janela, text="Digite sua mensagem")
rotulo_mensagem.pack()
entrada_mensagem = tk.Entry(janela, width=80)
entrada_mensagem.pack()
def clicar():
2026-05-08 23:13:51 +00:00
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")
2026-05-08 23:06:21 +00:00
botao = tk.Button(janela, text="Enviar", command=clicar)
botao.pack()
area_mensagens = scrolledtext.ScrolledText(janela)
area_mensagens.pack()
area_mensagens.config(state="disabled")
2026-05-08 23:13:51 +00:00
janela.mainloop()