「Nyzilla」をリリースに向けて改良。
ウィンドウひとつに接続先を1つと固定して、Winnyプロトコルで当該ノードだけに接続。応答メッセージから、当該ノードがソースとなっているキーを抽出して表示。1ホップ検索クエリ(当該ノードにしか届かない検索クエリ)を出して、特定のキーワードにマッチするキーの応答を求めることもできる。同時に、応答メッセージから他のノードのアドレスを集約して「他のノード」に表示。そこからノードを選んでダブルクリックすると別ウィンドウとして開く。ダウンロード機能はない。
今回初めてNetBeans IDEを使って開発してみた。Macでの見栄えもよい。しばらく見ないうちにものすごく使いやすくなっていた。GUIビルダなんて使い物になるのかなと思っていたけれど、1日でどうにか使えるようになった。国際化作業も簡単にできるし、JavaのエディタもEclipseよりも使いやすいような感じがした。JTableはほとんど自動で作れるような感じだけども、やりたいことをやるには、TableModelから作らないと駄目っぽい。ここで時間切れ。
関連:
しかしWinnyの場合、通信相手は不特定であり、Winnyプロトコルを使う誰もが通信相手になれます。たとえば、Winnyプロトコルを真似てWinnyノードに接続するようなプログラムの作成ができれば、接続相手のキャッシュファイルを観察することも可能です。このため、たとえどんなに強い暗号方式で通信内容を暗号化したとしても、通信相手は解読可能であり、通信内容は隠しようがありません。
また、Winnyのキャッシュファイルは、そもそも公開されているデータと考えるべきです。
金子勇著「Winnyの技術」p.151より