使用 monotorrent c# 创建种子

本文关键字:种子 创建 monotorrent 使用 | 更新日期: 2023-09-27 18:35:42

我正在尝试使用monotorrent为桌面中的文件创建种子,我已经尝试过像下面的代码

能够获取字节码,我无法将其保存为种子,它显示访问被拒绝

enter code here  string path = "C:/Users/snovaspace12/Desktop/monotorrent-0.90/files";
        string savepath = "D:/results";
        TorrentCreator nnnn = new TorrentCreator();
        nnnn.CreateTorrent(path, savepath);
   public void CreateTorrent(string path, string savePath)
    {
        // The class used for creating the torrent
        TorrentCreator c = new TorrentCreator();
        // Add one tier which contains two trackers
        //RawTrackerTier tier = new RawTrackerTier();
        //tier.Add("http://localhost/announce");
        //c.Announces.Add(tier);
        c.Comment = "This is the comment";
        c.CreatedBy = "Doug using " + VersionInfo.ClientVersion;
        c.Publisher = "www.aaronsen.com";
        // Set the torrent as private so it will not use DHT or peer exchange
        // Generally you will not want to set this.
        c.Private = true;
        // Every time a piece has been hashed, this event will fire. It is an
        // asynchronous event, so you have to handle threading yourself.
        c.Hashed += delegate(object o, TorrentCreatorEventArgs e)
        {
            Console.WriteLine("Current File is {0}% hashed", e.FileCompletion);
            Console.WriteLine("Overall {0}% hashed", e.OverallCompletion);
            Console.WriteLine("Total data to hash: {0}", e.OverallSize);
        };
        // ITorrentFileSource can be implemented to provide the TorrentCreator
        // with a list of files which will be added to the torrent metadata.
        // The default implementation takes a path to a single file or a path
        // to a directory. If the path is a directory, all files will be
        // recursively added

        ITorrentFileSource fileSource = new TorrentFileSource(path);
        // Create the torrent file and save it directly to the specified path
        // Different overloads of 'Create' can be used to save the data to a Stream
        // or just return it as a BEncodedDictionary (its native format) so it can be
        // processed in memory
        c.Create(fileSource, savePath);
    }
    public void Create(ITorrentFileSource fileSource, string savePath)
    {
        Check.SavePath(savePath);

        var file = Create(fileSource);//getting the fbyte code 
        File.WriteAllBytes( savePath, Create(fileSource).Encode()); //getting exception here 
    }

当我检查字节码正确返回到文件

它显示访问被拒绝

使用 monotorrent c# 创建种子

您可能已经解决了这个问题,但我刚刚遇到了同样的问题。 至少就我而言,解决方案非常简单。

问题起源于 c.Create(fileSource, savePath) 中的 savePath 参数;

我假设 savePath 是一个保存种子的目录。 它应该是一个文件路径。 例如 savePath = "C:''pathtomytorrents''content.torrent"

希望这对你有用!