問題タブ [libtorrent-rasterbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python libtorrent save_state
私は問題があります。私は C/C++ プログラマーではないので、libtorrent のドキュメントはよくわかりません。libtorrent の python ドキュメントのように見つけるドキュメントはありません。
この時点で、セッションで save_state と load_state を使用する方法を見つけるために、stackoverflow でコード例を検索しようとしました。
誰かが私に例を挙げたり、セッション状態を保存して後でロードする方法を説明したりできますか?
目標は、プロセスの再起動時にすべての torrent を再開することです。
更新 torrent ハンドルで save_state_resume() を使用すると、何も返されませんか? 「pydoc libtorrent > libtorrentDoc.txt」を実行すると、参照および検索に役立つドキュメントが得られることがわかりました。この時点で、マグネットをセッションに再度追加し、上記のコードを使用します。
多分誰かがより効率的な方法を持っていますか?
c++ - Libtorrent を Visual Studio と静的にリンクする
Libtorrent を Visual Studio 2013 と静的にリンクしようとしていますが、Libtorrent をビルドしてからプロジェクトをコンパイルした後、次の 1 つのエラーが発生し続けます。
私は静的にビルドしているので、 libboost_system-vc120-mt-1_55.lib はありませんが、libboost_system - vc120-mt-s-1_55.lib があります。次のパラメーターを使用してブーストを作成しました。
これらを含むLibtorrent:
ビルドされた Libtorrent が静的ではなく共有されていると考えているため、何が欠けていますか?
python - Windows に libtorrent をインストールする
誰かが私を助けてくれたり、Windowsにlibtorrentをインストールする方法について (できれば詳細な) 指示をくれたら. また、必要なすべてのライブラリとファイルを同じフォルダーに含めることで、移植可能にすることは可能でしょうか。前もって感謝します!
android - libtorrent-rasterbar.so - ファイルが非常に大きい (60 MB 以上)
libtorrent-rasterbar ソース (github) を使用して Android (arm) 用の Libtorrent-rasterbar をコンパイルしましたが、疑わしい結果がいくつかありました。以下に、コンパイル前に行った手順を示します。
アーム用のスタンドアロン ツールチェーンをセットアップした後、openssl ライブラリをツールチェーン lib フォルダーに移動し、ヘッダーをツールチェーン インクルード フォルダーなどに移動しました。これは、boost-android ライブラリでも行いました。次に、次のように環境変数をエクスポートしました。
そして最後に、次を使用して構成しました。
すべてが正常にコンパイルされますが、生成された共有ライブラリは必要以上に大きくなります。65メガバイト。CPPFLAGS を変更して -O2 (最適化設定) を含めようとしましたが、サイズに違いはありませんでした。libtorrent-rasterbar を Android の共有ライブラリまたは静的ライブラリとしてコンパイルした人はいますか? もしそうなら、最終的なバイナリのサイズはどのくらいで、どのような手順を踏んだのですか?
本当にありがとう!
更新: コンパイルしているマシンを含めるのを忘れていました。ここに行きます:
- CPU i7 4770k
- メモリー 16GB 2133MHz
- HDD 400GB SSD パーティション
- OS OS X ヨセミテ
- GCC アーム-linux-android-gcc (4.9)
- NDK r10e
- ツールチェーン arm-linux-androideabi-4.9
- GPU nvidia gtx970 (無関係)..
はい、ハッキントッシュです。
bittorrent - シーディング ピアが 1 つだけの場合、追加直後にトレントがダウンロードされない
トレント ダウンロードの起動速度に問題があります。
したがって、2 つの libtorrent ベースのクライアントがあります。
クライアント A(大洪水) は、トレントをシードする唯一のクライアントです。状態はシード中ですが、ピアはまだ表示されていません。
クライアント B (私が作成しているアプリ) は torrent を使用して追加します
何らかの理由で、クライアント B がすぐにダウンロードを開始しません。数分待つと、クライアント A のアップロード速度が急上昇し、トレントが B にダウンロードされます。
なぜそれは待っているのですか?これはアナウンス間隔と関係がありますか? その場合、ダウンロードをすぐに開始する必要があるため、その起動時間をどのように軽減できますか。
ピアを見つけてすぐにファイルをダウンロードするべきではありませんか?
トラッカーとパブリック DHT の両方を使用しています。
ios - シミュレータios用のlibtorrentをビルドする方法
皆さん、こんにちは。英語が下手で申し訳ありません。私はios開発の初心者で、今はiso用のlibtorrentを構築しようとしています。まず第一に、私はこのgithubでBooostとOpenSSLを使用していました
読み取り時 スクリプト シェル ビルド ブースト。libtorrent をビルドするための視覚化があります。iphone と iphonesimulator 用にビルドする必要があります。次に、lipo を使用して 2 つの lib をマージします。しかし、libtorrent で ./configure を使用してオプションでビルドすると、libtorrent の ./configure でオプション toolset=darwin、architecture=arm および target-os が見つかりません。誰でも、私がlibtorrent configureに設定できるオプションと引数を教えてくれます
python - utorrents Magnet to Torrent ファイルのフェッチが Python スクリプトよりも速いのはなぜですか?
.torrent
Pythonスクリプトを使用して、ファイル内のトレントマグネットURLを変換しようとしています. Python スクリプトはdht
メタデータに接続して待機し、そこから torrent ファイルを作成します。
例えば
.torrent
上記のスクリプトは、メタデータを取得してファイルを作成するのに約 1 分以上かかりますが、utorrent
クライアントは数秒しかかかりません。なぜですか?
スクリプトを高速化するにはどうすればよいですか?
約 1,000 以上の torrent のメタデータを取得したいと考えています。
例:マグネットリンク
アップデート :
スクリプトで、このような既知の dht ルーターの URL を指定しました。
しかし、それでも遅く、時々次のようなエラーが発生します
アップデート :
DB から 16 進情報ハッシュを取得し、dht からメタデータを取得してからトレント ファイルを DB に挿入するこの scmall スクリプトを作成しました。
状態を保存する方法がわからなかったので、無期限に実行させました。実行し続けると、より多くのピアが取得され、メタデータのフェッチが速くなります。
Arvidが提案したように、新しいものを実装する必要があります。
アップデート
Arvidが提案したものを実装することができました。そして、大洪水サポートフォーラムで見つけたいくつかの拡張機能http://forum.deluge-torrent.org/viewtopic.php?f=7&t=42299&start=10
1分間実行し続け、アラートを受け取りました
アップデート :
いくつかのテストの後、次のようになります
引き起こす
更新: 追加しました
そして警戒した
python - 100k 以上の torrent のメタデータを取得するために Python libtorrent を使用してデーモンを作成する
Python libtorrent を使用して、1 日あたり約 10k+ torrent のメタデータを取得しようとしています。
これが現在のコードの流れです
- libtorrent セッションを開始します。
- 過去 1 日以内にアップロードするメタデータが必要な torrent の総数を取得します。
- DB から torrent ハッシュをチャンクで取得する
- これらのハッシュを使用してマグネット リンクを作成し、各マグネット URI のハンドルを作成してセッションにマグネット URI を追加します。
- メタデータがフェッチされている間、1 秒間スリープし、メタデータが見つかったかどうかを確認し続けます。
- メタデータを受信した場合は、それを DB に追加します。それ以外の場合は、約 10 分間メタデータを探していたかどうかを確認します。そうである場合は、ハンドルを削除します。つまり、今のところメタデータを探す必要はありません。
- 以上を無期限に行います。将来のためにセッション状態を保存します。
これまでのところ、私はこれを試しました。
上記のスクリプトを一晩実行してみましたが、一晩のセッションで約 1200 の torrent のメタデータしか見つかりませんでした。そのため、スクリプトのパフォーマンスを向上させたいと考えています。
ファイルのデコードも試みましたが、接続してsave_state
いるファイルが 700 以上あることに気付きましDHT nodes
た。実行されていないのDHT
ではなく、
私が計画しているのは、keep the handles active
メタデータがフェッチされていない間、無期限にセッションに参加することです。私が現在行っているように、10分以内にメタデータがフェッチされない場合、10分後にハンドルを削除するつもりはありません。
lib-torrent python バインディングに関していくつか質問があります。
- いくつのハンドルを実行し続けることができますか? ハンドルの実行に制限はありますか?
- 10k 以上または 100k のハンドルを実行すると、システムの速度が低下しますか? またはリソースを食べますか?はいの場合、どのリソースですか?つまり、RAM、ネットワークですか?
- ファイアウォールの背後にいます。ブロックされた受信ポートが原因で、メタデータのフェッチ速度が遅くなる可能性がありますか?
- router.bittorrent.com などの DHT サーバーや他の IP アドレスを BAN して、あまりにも多くのリクエストを送信することはできますか?
- 他のピアは、私がメタデータのフェッチのためだけにあまりにも多くのリクエストを行っていることを知った場合、私の IP アドレスを BAN できますか?
- このスクリプトの複数のインスタンスを実行できますか? またはマルチスレッドである可能性がありますか?パフォーマンスが向上しますか?
- 同じスクリプトの複数のインスタンスを使用する場合、各スクリプトは、使用している IP とポートに応じて一意のノード ID を取得します。これは実行可能な解決策ですか?
より良いアプローチはありますか?私がしようとしていることを達成するために?
c++ - libtorrent におけるシードとウェブシードの優先度
みんな。この記事http://www.rasterbar.com/products/libtorrent/manual-ref.htmlを読みましたが、libtorrent を使用してシードとウェブシードの間で優先順位を設定する方法が見つかりません。私はあなたの答えに非常に感謝します。