main.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from node import Node
  2. from network_api import NetworkAPI
  3. from multiprocessing import Process
  4. import random
  5. import time
  6. def create_node(meta):
  7. node = Node(meta)
  8. node.run()
  9. if __name__ == "__main__":
  10. num = input("[-]请输入节点数量:")
  11. ip = "localhost"
  12. base_port = 10000
  13. client_port = 9999
  14. nodes_meta = []
  15. network_api = NetworkAPI((ip, client_port))
  16. for i in range(int(num)):
  17. node_meta = {
  18. "id": str(i),
  19. "addr": ("localhost", base_port + i),
  20. "peers": {str(j): ("localhost", base_port + j) for j in range(int(num)) if j != i},
  21. }
  22. nodes_meta.append(node_meta)
  23. # create_node(node_meta)
  24. p = Process(target=create_node, args=(node_meta,), daemon=True)
  25. p.start()
  26. address = random.choice(nodes_meta)["addr"]
  27. # while True:
  28. # print('233ok')
  29. # time.sleep(30)
  30. time.sleep(10)
  31. while True:
  32. message = input("[-]请输入要记录的日志:")
  33. # message = '233ok'
  34. data = {
  35. "type": "client_append_entries",
  36. "timestamp": int(time.time()),
  37. "message": message,
  38. }
  39. print("send: ", data)
  40. network_api.send(data, address)
  41. # time.sleep(5)