gpt4 book ai didi

c# - 如何让 Monotorrents DHT 工作?

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:03 25 4
gpt4 key购买 nike

我正在尝试让 monotorrent 的 dht 实现工作,但我似乎找不到任何同行。

我已经尝试了网络上可用的大部分示例代码,例如 testclient 和 dhttest。

我尝试了几种不同的信息哈希。

这里有人成功了吗?或者你知道我在哪里可以找到开发人员吗?

我的代码看起来是这样的:

using System;
using System.Collections.Generic;
using System.Text;
using MonoTorrent.Dht;
using MonoTorrent.Dht.Listeners;
using System.Net;
using System.IO;
using MonoTorrent.Common;
using MonoTorrent.Tracker.Listeners;

namespace SampleClient
{
class Program
{
static void Main(string[] args)
{

string basePath = Environment.CurrentDirectory;
string torrentsPath = Path.Combine(basePath, "Torrents");
Torrent torrent = null;
// If the torrentsPath does not exist, we want to create it
if (!Directory.Exists(torrentsPath))
Directory.CreateDirectory(torrentsPath);
// For each file in the torrents path that is a .torrent file, load it into the engine.
foreach (string file in Directory.GetFiles(torrentsPath))
{
if (file.EndsWith(".torrent"))
{
try
{
// Load the .torrent from the file into a Torrent instance
// You can use this to do preprocessing should you need to
torrent = Torrent.Load(file);
Console.WriteLine(torrent.InfoHash.ToString());
}
catch (Exception e)
{
Console.Write("Couldn't decode {0}: ", file);
Console.WriteLine(e.Message);
continue;
}
}
}
DhtListener listener = new DhtListener(new IPEndPoint(IPAddress.Parse("192.168.2.3"), 10000));
DhtEngine engine = new DhtEngine(listener);

//engine.RegisterDht(dht);

byte[] nodes = null;
if (File.Exists("mynodes"))
nodes = File.ReadAllBytes("mynodes");

listener.Start();
int i = 0;
bool running = true;
StringBuilder sb = new StringBuilder(1024);
while (running)
{
engine.Start(nodes);

while (Console.ReadLine() != "q")
{
engine.GetPeers(torrent.InfoHash);
}
File.WriteAllBytes("mynodes", engine.SaveNodes());
}
}
}

最佳答案

我知道这是一个非常古老的问题,但我不确定为什么仍然没有人回答。问题似乎是这一行:

DhtListener listener = new DhtListener(new IPEndPoint(IPAddress.Parse("192.168.2.3"), 10000));

这个 ip 不是真实的 ip,所以你实际上是 asl peers 将 respone 发送到 unkonw address。该怎么办?注册你自己的地址。

关于c# - 如何让 Monotorrents DHT 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16380211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com