示例#1
0
文件: dht.py 项目: gipi/dht
 def find_peers_for_infohash(self, _id, info_hash):
     result = self.get_recursively_peers(_id, [Node.get_boostrap_node()], info_hash)
示例#2
0
文件: dht.py 项目: gipi/dht
        result = self.get_recursively_peers(_id, [Node.get_boostrap_node()], info_hash)


if __name__ == "__main__":
    my_id = generate_random_id()
    print('id: ' + my_id.encode('hex'))

    mynode = Node(id=my_id, hostname='localhost')

    dht = DHT(Network, mynode)

    info_hash = 'bbb6db69965af769f664b6636e7914f8735141b3' if len(sys.argv) == 1 else sys.argv[1]

    node_info_hash = Node(id=hex2byte(info_hash), ip='fake')

    bootstrap_node = Node.get_boostrap_node()
    ping_response = dht.ping(bootstrap_node)
    print('ping response: %s' % ping_response)

    if ping_response is None:
        print('no response, exit')
        sys.exit(1)

    # save the bootstrap node's id
    bootstrap_node.id = ping_response['id']

    dht.buckets_list.insert_node(bootstrap_node)
    logger.info('start while')
    while 1:
        print(dht.peers(info_hash))