progredes20261/sockets/cliente_chat.py

44 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-04-18 00:47:22 +00:00
import tkinter as tk
from tkinter import scrolledtext
2026-05-09 00:20:40 +00:00
import socket
import threading
def ouvir_servidor(socket_servidor):
while True:
2026-05-15 23:33:17 +00:00
mensagem = socket_servidor.recv(80000)
2026-05-09 00:20:40 +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-04-18 00:47:22 +00:00
janela = tk.Tk()
janela.title("Chat do IFRN")
2026-05-09 00:20:40 +00:00
2026-04-18 00:47:22 +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-09 00:20:40 +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-04-18 00:47:22 +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-09 00:20:40 +00:00
janela.mainloop()