thread e chat com sockets
This commit is contained in:
parent
142c0b60df
commit
bf56431785
|
|
@ -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()
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
numero = int(input("Digite um número: "))
|
||||||
|
for i in range(11):
|
||||||
|
print(f"{numero}x{i}={numero*i}")
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
# Função que será executada pela thread
|
||||||
|
def executar(nome_thread, n_iteracoes):
|
||||||
|
for i in range(n_iteracoes):
|
||||||
|
print(f"Nome da thread: {nome_thread}")
|
||||||
|
time.sleep(2) # Parar por 2s
|
||||||
|
|
||||||
|
t1 = threading.Thread(target=executar,args=["Thread1",15,])
|
||||||
|
t2 = threading.Thread(target=executar,args=["Thread2",10,])
|
||||||
|
|
||||||
|
t1.start()
|
||||||
|
t2.start()
|
||||||
|
|
||||||
|
t1.join()
|
||||||
|
t2.join()
|
||||||
|
|
||||||
|
print("Final da thread principal")
|
||||||
Loading…
Reference in New Issue