Peer-to-peer nós para processamento em multipontos
Publicado por Diego Lopes (última atualização em 31/05/2024)
[ Hits: 1.641 ]
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()
Script para Scanner servidor e encontrar portas abertas
ArpRequest - requisição arp para endereço físico
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)









