def send_to_all_node(message, except_my_node=False): # node 목록에서 ip 만 리스트로 추출 address_list = list(map(lambda x: x.ip_address, node.get_all())) # True 일 경우 내 node를 제외한 node에게 전송 if except_my_node: address_list = list( filter(lambda x: x != util.get_ip_address('en0'), address_list)) send_threads = [] for addr in address_list: try: # 메세지를 전송하는 스레드 생성 및 실행 t = threading.Thread(target=send, kwargs={ 'ip_address': addr, 'message': message, 'port': 3000 }) t.start() send_threads.append(t) except Exception as e: print("SENDTOALL EXCEPT", e) # 스레드 객체를 배열로 저장해둔 후 동기화 for thread in send_threads: thread.join()
def start_node(): import threading global listen_thread listen_thread = threading.Thread(target=receiver.start, args=("Listener_Thread", util.get_ip_address('en0'), 3000)) listen_thread.start()
def set_my_node(): print("Set my node") my_node = Node(util.get_ip_address('en0')) pri_key, pub_key = key.get_key() if (pri_key == ''): print("Invalid Key Info...") return node.add_node(my_node)
def set_my_node(): my_node = Node(util.get_ip_address('en0')) key.generate_key() log.write("Set my node") node.add_node(my_node)