地獄のすべて、
次の問題があります。
MonoTorrent ライブラリを使用してトレント内のすべてのピアのダウンロード速度を取得しようとすると、ゼロが返されます。次のように、すべてのピアのダウンロード速度を取得します。
foreach (PeerId p in manager.GetPeers())
{
nTorrentPeerStatus pStatus = new nTorrentPeerStatus();
pStatus.Url = p.Peer.ConnectionUri.ToString();
pStatus.DownloadSpeed = Math.Round(p.Monitor.DownloadSpeed/1024.0, 2);
pStatus.UploadSpeed = Math.Round(p.Monitor.UploadSpeed/1024.0, 2);
pStatus.RequestingPieces = p.AmRequestingPiecesCount;
s.PeerStatuses.Add(pStatus);
}
これは、ダウン速度とアップロード速度の両方に対して常にゼロを返します。しかし、これらの行の 1 つにブレークポイントを配置すると、0 以外の値が返されますか? それで、すべてのダウンロードとアップロードの速度を一度に取得するのではなく、ブレークポイントを配置して数秒待ってから続行すると、なぜそれが機能するのか、誰にもわかりませんか?