如何使用浏览器做lookups/get DHT数据
How to do lookups/get DHT data using the browser
我在 node.js 中有以下工作来做基本的 DHT put
和 get
。我稍后可以通过仅使用 get
方法并传入先前创建的 infohash 来检索相同的 DHT。接下来我想做的是在浏览器中查找 DHT,但我在浏览器化方面没有取得任何成功。是否有任何浏览器库可以通过查找信息哈希来读取 DHT 数据?
// Emitter
var EventEmitter = require('events').EventEmitter;
var util = require('util');
util.inherits(emitter, EventEmitter);
function emitter(){
var self = this;
}
let e = new emitter()
//DHT
const DHT = require('bittorrent-dht')
const dht = new DHT()
let data = 'Some cool new data'
const value = Buffer.from(data, 'utf8')
dht.put({ v: value }, function (err, hash) {
if(err) console.error('Error:', err)
let arr = dht.toJSON()
let infoHash = Object.getOwnPropertyNames(arr.values).toString()
console.log(infoHash)
e.emit('hash', infoHash)
})
e.on('hash', infoHash => {
dht.get(infoHash, (err, res) => {
if(err) console.log(err)
let data = res.v.toString()
console.log(data)
})
})
我知道 WebTorrent 使用 bittorrent-dht,但我不太确定我将如何为此目的使用 WebTorrent
bittorrent DHT 需要纯 UDP 套接字才能工作。目前没有提供该功能的Web API,因此无法在网页中实现。
我在 node.js 中有以下工作来做基本的 DHT put
和 get
。我稍后可以通过仅使用 get
方法并传入先前创建的 infohash 来检索相同的 DHT。接下来我想做的是在浏览器中查找 DHT,但我在浏览器化方面没有取得任何成功。是否有任何浏览器库可以通过查找信息哈希来读取 DHT 数据?
// Emitter
var EventEmitter = require('events').EventEmitter;
var util = require('util');
util.inherits(emitter, EventEmitter);
function emitter(){
var self = this;
}
let e = new emitter()
//DHT
const DHT = require('bittorrent-dht')
const dht = new DHT()
let data = 'Some cool new data'
const value = Buffer.from(data, 'utf8')
dht.put({ v: value }, function (err, hash) {
if(err) console.error('Error:', err)
let arr = dht.toJSON()
let infoHash = Object.getOwnPropertyNames(arr.values).toString()
console.log(infoHash)
e.emit('hash', infoHash)
})
e.on('hash', infoHash => {
dht.get(infoHash, (err, res) => {
if(err) console.log(err)
let data = res.v.toString()
console.log(data)
})
})
我知道 WebTorrent 使用 bittorrent-dht,但我不太确定我将如何为此目的使用 WebTorrent
bittorrent DHT 需要纯 UDP 套接字才能工作。目前没有提供该功能的Web API,因此无法在网页中实现。