ダウンロード機能を作ってみた

ダウンロード機能を作りました。

とりあえず、DL成功第一号は、
愛国者のためのP2P】【MIDI】【合法】タンチャメ 沖縄県民謡.mid
というファイル。
1ブロック(64KB以内)なら問題なくDLできています。よって、ポエムだけならOKっぽいです。今は、大き目のファイルとしてジャッカルをDL中です。いきなり多重ダウンロードが発生していますが、順調っぽいです。
(ただし、エアーエッジなので遅い・・。本当にエアーエッジのせいなのか謎なので、またローカルマシン内に50ノードのネットワークを組んで試してみようと思っています。)

あとは、UIをちょこっと直して、明日一度出せるといいかなという感じ。

@ ダウンロードで思ったこと
SQLite(キャッシュの保存に使っているDBライブラリ)は、トランザクション内でinsertするとかなり速くなるのですが、これをすると、今の作りでは多重ダウンロードができません・・。
多重ダウンロード中に各スレッドのDBコネクションを共用するようにしてトランザクションを1つ作ってinsertすると速くなると思うのですが、同期をとるのが結構面倒なので、今回のバージョンでは対応しない予定です。(今、SQLを直接使っているので書き直さないと無理・・)

  • 追記

エアーエッジかなりでつらい。
マジでYahooBBにしないとこれから実験ができないな・・。

それとは別に、ローカルマシンの本物Winny2.0b7.1から13MBのファイルをDLしてみたところ、最大で80KB/Sしかでなかった。どーうも、SQLiteでキャッシュをinsertしている部分が遅い気がする・・。ファイル自体はDLできた。

そしてまたメモリがGCに回収されない箇所があるもよう。DLは64KB以上の配列を作っているので、それかなーと。これも適切にdeleteするようにしないと。

  • 追記

「 [ 自主制作映画 ] 第 0004 話 ジャッカル特訓開始」がDL完了しました。
大まかには、間違っていないようなので、残りは細かい部分と、UIだけです。