Peer-to-peer nós para processamento em multipontos
Publicado por Diego Lopes (última atualização em 31/05/2024)
[ Hits: 1.851 ]
Homepage:
Script simulam uma rede usando multipontos, o script pode ser alterado para rodar em quantos computadores forem desejados.
Esta conexão usa protocolo UDP.
#Author:Diego Silva
#Date:04/23/2024
#Description:node to generate service and change information
import socket
from threading import Thread
import time
#setting info to server
HOST=''
PORT=4000
logged_node=False
VERSION='1.0.0.0'
nodehost='192.168.15.7'
nodepor=4001
#thread process
class ProcessNode(Thread):
def __init__(self,udp,udp_client):
Thread.__init__(self)
self.udp = udp
self.udp_client = udp_client
def run(self):
try:
if logged_node==False:
logged_node=True
self.udp_c.sendto(b'hello',(nodehost,nodepor))
except:
logged_node=False
while 1:
msg, client = self.udp.recvfrom(1024)
print(msg)
try:
self.udp_client.sendto(msg,(nodehost,nodepor))
except:
print("Node don't found")
time.sleep(2)
print("Done process")
self.udp.close()
#class up to server udp
class UpServerSetting:
def settingServerNode(self):
msg="Error to up node, check setting port/host"
try:
print("Initing node server")
server_udp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
server_udp.bind((HOST,PORT))
msg="Node is Done"
except:
print("Fail to up node of net")
finally:
print(msg)
return server_udp
#class to clint another node
class UpClientSetting:
def settingClientNode(self):
msg="Error To Generate Client"
try:
client_udp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
msg="Done Object client udp"
except:
print(msg)
finally:
print(msg)
return client_udp
if __name__ == '__main__':
print('Head Of Hydra {}'.format(VERSION))
sett = UpServerSetting()
udp = sett.settingServerNode()
sett_client = UpClientSetting()
udp_c = sett_client.settingClientNode()
udp_c.sendto(b'hello',(nodehost,nodepor))
while True:
msg, client = udp.recvfrom(1024)
if(msg.decode()=='hello'):
print("Client loggin: ",msg.decode())
process = ProcessNode(udp,udp_c)
process.start()
print('Finishing client connection', client)
udp.close()
#process = ProcessNode(udp)
#process.start()
Envio de comandos por ssh sem troca de chaves a múltiplos servidores
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Otimizando o uso de Memória RAM no Ubuntu com zRAM
Usando alias no Terminal para comandos longos
Simplificando o manual do terminal no Ubuntu 26.04
Bloqueio da instalação e reinstalação do Snap (snapd) no Ubuntu
Continuando meus tópicos anteriores (11)
GLPI Cards de filtros de pesquisa (2)









