DEV_NET/sockets/cliente_chat.py

44 lines
1.2 KiB
Python

import tkinter as tk
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.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():
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.pack()
area_mensagens = scrolledtext.ScrolledText(janela)
area_mensagens.pack()
area_mensagens.config(state="disabled")
janela.mainloop()