thread e chat com sockets
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import tkinter as tk
|
||||
from tkinter import scrolledtext
|
||||
|
||||
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():
|
||||
print("Fui clicado")
|
||||
|
||||
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()
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import socket
|
||||
import threading
|
||||
|
||||
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
servidor.bind(("0.0.0.0",5000))
|
||||
servidor.listen()
|
||||
print("Servidor inicializado!!!")
|
||||
|
||||
clientes = []
|
||||
|
||||
def ouvir_cliente(cliente):
|
||||
while True:
|
||||
mensagem = cliente.recv(1024)
|
||||
for socket_cliente in clientes:
|
||||
if socket_cliente != cliente:
|
||||
socket_cliente.send(mensagem)
|
||||
|
||||
while True:
|
||||
cliente, endereco_cliente = servidor.accept()
|
||||
clientes.append(cliente)
|
||||
thread = threading.Thread(target=ouvir_cliente, args=[cliente,])
|
||||
thread.start()
|
||||
Reference in New Issue
Block a user