Peer-to-peer nós para processamento em multipontos
Publicado por Diego Lopes (última atualização em 31/05/2024)
[ Hits: 1.690 ]
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
verifySite - um verificador de sites
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Podem me chamar de 1mbecil :) (3)
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (3)
Servidor de DNS BIND Ubuntu server (0)
Debian Stable travado em atualizações: dist-upgrade não resolve [RESOL... (11)









