MXの次はなんなんだ?

このエントリーをはてなブックマークに追加
87447
すんげー地道に動作チェック&バグ取りしてます。
全機能できたわけじゃないですけど、ファイル交換ソフトとして
必要最低限の機能できたんで、動作を確実にしてます。
前はよく固まってましたが、どうにか安定してきました。
今のバージョンなら大量に転送かけても比較的さくさくファイル交換してますね。
87547:02/04/10 07:48 ID:TRw4MUOl
完成度は6割ってとこなんで、現状でどういうことになってるのか詳細をば。

まず今のバージョンでの基本モードは次の6つ。
「ホスト」「公開ファイル」「ファイル検索」「タスク状況」「設定」「ログ情報」

ホストは他のホスト情報で接続状況などが表示されます。現状では接続されている
IPとポート番号が直接表示されていますけど、後でID表示にするのではないかと。

「公開ファイル」はUPフォルダの指定で、最近複数指定可能です。
ここでMXと違うのは、フォルダ毎に「キャッシュ変換用暗号キー」
というのがテキストエディットコントロールで指示できること。

「ファイル検索」では、MX同様の検索キーワード以外に検索用の
暗号化ワードを指示します。暗号化ワードは、提供側と検索側で
完全一致させないとファイル名が崩れてファイル検索自体できません。
一応暗号化ワードの省略も可能です。

87647:02/04/10 07:49 ID:TRw4MUOl
「タスク状況」はファイル転送やUPなどの各種タスク状況をまとめて
表示するもので、まだMXのようなバー表示にはなってないです。
現状ではそれぞれのタスクの進行状況に応じて数が上がっていくだけです。

ファイル検索からファイル選択してダブルクリックすると、
ダウンロード初めてここの画面に自動的に切り替わったりなど、
基本動作はMXと似てます。なお、まだキューの概念が無く、
要求は無条件で全部受けてしまいます。

「設定」は各種設定で、今だとキャッシュホルダ、ダウンホルダ、
待ち受けるポート番号と回線速度の設定があります。
ここはもちろんもっと増えます。そういえば各種のタイムアウト処理が
ついたからこれ用の設定もいりますねぇ。「ログ情報」はエラー表示などの
表示とバージョン情報などでバグ取りようのコンソールも兼ねてます。

こんなところでメニューも無くシンプルです。
上部に二列のボタンが並んでいて上がモード切り替えで
下列のボタンが各メニューのサブ動作(切断など)で、
下半分は多くのモードでリストコントロールってやつです。
エクスプローラで使われてるタブつきのやつですね。MXと同じです。
87747:02/04/10 07:54 ID:DeIc0iOn
これだけだと動作が簡略化されたMXにすぎないので、違いの部分を説明。
まずMXと違うのがキャッシュフォルダという概念と暗号化の概念があること。

アップフォルダ、ダウンフォルダ、キャッシュフォルダがありこの間をファイルが行き来します。
既に書いたようにアップフォルダ毎に暗号化のキーワードを指定できます。

まず一番初めにファイルを公開するユーザさんは、アップフォルダに
公開したいファイルを置きます。暗号キーはこのときに指示します。

この状態で外部からファイル検索要求が来ると、必要に応じてファイル名に暗号化かけて
検索元に送ります。もし向こうが暗号のキーを知っていればファイル名を元に戻せます。
そしてこれの本体に対してダウン要求がかかると次の動作が起きます。

1.UP要求を受けた方では、UPフォルダ内のファイルに暗号化を施してキャッシュ
ファイル作成動作が行われます。もし既に作成済みならこの動作は省略されます。
キャッシュフォルダ内のファイルは名前も内容も暗号化されて意味不明です。

2.できたキャッシュファイルが要求側のキャッシュフォルダに転送されます。
ここで、1の動作は子の動作は平行して進行するので、ファイル要求側から見ると、
キャッシュを送っているのかUPフォルダ内のファイルをコンバートしながら
送っているのかは見分けが付きません。また、同一ファイルに対して
他のサーバーからのダウン動作と同時にUP動作が可能なので、
結果的に3ホストにまたがる転送動作となる場合もあります
(実際にはこうなることが多く、これで串動作にもなる)

87847:02/04/10 07:54 ID:DeIc0iOn
最後

3.要求側のキャッシュフォルダ内にキャッシュ転送が終わると
自動的にキャッシュファイルの暗号を解いてDOWNフォルダに展開します。
検索側は暗号のキー知っているはずなので問題なく展開できます。
今だと名前の暗号化と本体の暗号化は同じキーなので検索できれば展開できます。

4.ファイルUP側とDOWN側には暗号化されたキャッシュが残りますが、
これはそのままで、次の要求が着たら暗号化の作業は省略してキャッシュがその
まま転送されて行きます。また、本体と別に暗号化されたファイル名情報だけ
ネット上に独立に流れていくので、これにダウン要求かけるとめぐりめぐって
キャッシュを持っている人のところにたどり着いた時点でそれが再送されます。
UPした人のところまでまたダウン要求が来ることはあまり無いはずです。

ちとわかり難いけどこういう動作になります。ファイルダウンすると、
UP側ではUP動作と同時に暗号化作業が行われ、DOWN側では
DOWN後に暗号化解凍作業が行われるのがMXとの違いとなります。

またキャッシュレベルで転送が行われるので外部から見ると
何が起こっているのかわかりにくいです。とりあえずここまでの動作は
既にできてて、並列にいろいろ動作してますね。
各転送作業や変換作業が同時に走るのが見ていて面白いっす。