Peer-to-peer nós para processamento em multipontos
Publicado por Diego Lopes (última atualização em 31/05/2024)
[ Hits: 1.576 ]
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()
verifySite - um verificador de sites
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (5)
E aí? O Warsaw já está funcionando no Debian 13? (2)
Dúvidas sobre a originalidade de conteúdos online (12)