Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Net;
- using System.Threading;
- using System.Threading.Tasks;
- using MonoTorrent;
- using MonoTorrent.Client;
- using MonoTorrent.Dht;
- namespace TorrentTesting
- {
- class Program
- {
- static async Task Main(string[] args)
- {
- var port = 6969;
- var torrentsPath = "torrents";
- EngineSettings settings = new EngineSettings()
- {
- SavePath = "downloads",
- ListenPort = port,
- };
- var engine = new ClientEngine(settings);
- DhtEngine dht = new DhtEngine(new IPEndPoint(IPAddress.Any, port));
- await engine.RegisterDhtAsync(dht);
- await engine.DhtEngine.StartAsync(Array.Empty<byte>());
- if (!Directory.Exists(engine.Settings.SavePath))
- Directory.CreateDirectory(engine.Settings.SavePath);
- if (!Directory.Exists(torrentsPath))
- Directory.CreateDirectory(torrentsPath);
- var manager = new TorrentManager(Torrent.Load("./test.torrent"), engine.Settings.SavePath,
- new TorrentSettings());
- await engine.Register(manager);
- await manager.StartAsync();
- while (true)
- {
- Console.WriteLine($"State: {manager.State} : Progress: {manager.Progress:N}/100% : Download Speed {(manager.Monitor.DownloadSpeed / 1000000.0f):N}MB/s");
- Thread.Sleep(300);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement