From 26a2ee2d799b154abd0421933613d3577be688cc Mon Sep 17 00:00:00 2001 From: Eduarte Date: Fri, 8 May 2026 20:07:41 -0300 Subject: [PATCH] =?UTF-8?q?altera=C3=A7=C3=B5es=20feitas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo_os/sockets/cliente_chat.py | 24 ++++++++++++++++++++++++ modulo_os/sockets/cliente_tcp.py | 15 +++++++++++++++ modulo_os/sockets/servidor_chat.py | 22 ++++++++++++++++++++++ modulo_os/sockets/servidor_tcp.py | 23 +++++++++++++++++++++++ python | 0 thread/exemplo1.py | 19 +++++++++++++++++++ thread/tkinder.py | 1 + 7 files changed, 104 insertions(+) create mode 100644 modulo_os/sockets/cliente_chat.py create mode 100644 modulo_os/sockets/cliente_tcp.py create mode 100644 modulo_os/sockets/servidor_chat.py create mode 100644 modulo_os/sockets/servidor_tcp.py create mode 100644 python create mode 100644 thread/exemplo1.py create mode 100644 thread/tkinder.py diff --git a/modulo_os/sockets/cliente_chat.py b/modulo_os/sockets/cliente_chat.py new file mode 100644 index 0000000..69e954f --- /dev/null +++ b/modulo_os/sockets/cliente_chat.py @@ -0,0 +1,24 @@ +import tkinter as tk +from tkinter import scrolledtext + + +janela = tk.Tk() +janela.title("Chat da sala") + +rotulo_mensagem = tk.Label(janela, text="Digite sua mensagem") +rotulo_mensagem.pack() + +entrada_mensagem = tk.Entry(janela, width=100) +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() \ No newline at end of file diff --git a/modulo_os/sockets/cliente_tcp.py b/modulo_os/sockets/cliente_tcp.py new file mode 100644 index 0000000..0d815e5 --- /dev/null +++ b/modulo_os/sockets/cliente_tcp.py @@ -0,0 +1,15 @@ +#modelo de importação difrente. Não precisará mais +#usar a plavra socket (módulo) antes dos recursos +from socket import * + +# Criar objeto socket +cliente = socket(AF_INET,SOCK_STREAM) + +# Abrir conexão +conexao = cliente.connect(("10.209.1.45",3000)) + +# Enviar mensagem +cliente.send("Eduarte On!".encode()) + +mensagem = cliente.recv(1024) +print(f"mensagem recebida {mensagem.decode()}") \ No newline at end of file diff --git a/modulo_os/sockets/servidor_chat.py b/modulo_os/sockets/servidor_chat.py new file mode 100644 index 0000000..0a414f7 --- /dev/null +++ b/modulo_os/sockets/servidor_chat.py @@ -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() + cliente.append(cliente) + thread = threading.Thread(target=ouvir_cliente, args={cliente,}) + thread.start() \ No newline at end of file diff --git a/modulo_os/sockets/servidor_tcp.py b/modulo_os/sockets/servidor_tcp.py new file mode 100644 index 0000000..d91092c --- /dev/null +++ b/modulo_os/sockets/servidor_tcp.py @@ -0,0 +1,23 @@ + +import socket + +#criar um objeto socket com AF_INET(IPV4) e SOCK_STREAM (TCP) +servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + +#Estabelecer vinculo com um endereço e uma porta +servidor.bind(("127.0.0.1",3000)) + +#Começa a ouvir tentativas de conexão +servidor.listen() + +#Aceitar conexão, recebendo o objeto socket da conexão +conexao, endereco = servidor.accept() + +#recebendo mensgaem do cliente. Tenho que converter +#bytes para string (decode) +mensagem = conexao.recv(1024).decode() +print(f"Mensagem recebida: {mensagem}") + +# Enviar mensagem, Precisa ser em Bytes (decode) +conexao.send("OK! Mensagem recebida com sucesso".encode()) + diff --git a/python b/python new file mode 100644 index 0000000..e69de29 diff --git a/thread/exemplo1.py b/thread/exemplo1.py new file mode 100644 index 0000000..1e1130a --- /dev/null +++ b/thread/exemplo1.py @@ -0,0 +1,19 @@ +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) # Para 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") \ No newline at end of file diff --git a/thread/tkinder.py b/thread/tkinder.py new file mode 100644 index 0000000..92de894 --- /dev/null +++ b/thread/tkinder.py @@ -0,0 +1 @@ +import tkinder \ No newline at end of file