tetuet版
公開履歴
- 2008年07月20日 P4U@java build 20080720 公開
- 2008年07月19日 P4U@java build 20080719 公開
- 2008年07月13日 P4U@tondol on Java build 20080711 GUI強化版 公開
- 2008年06月05日 P4U@tondol on Java build 20080605 GUI強化版 公開
- 2008年06月01日 P4U@tetuet Java移行テスト1 公開
- 2008年04月29日 P4U@tondol on Ruby Version 0.01a GUI版 公開
- 2008年04月27日 P4U@tondol on Ruby Version 0.01 GUI版 公開
- 2008年04月04日 P4U@tetuet on Ruby Version 0.0.5 公開
- 2008年03月31日 P4U@tetuet on Ruby Version 0.0.4 公開
- 2008年03月30日 P4U@tetuet on Ruby Version 0.0.3 公開
- 2008年03月29日 P4U@tetuet on Ruby Version 0.0.2 公開
- 2008年03月28日 P4U@tetuet on Ruby Version 0.0.1 公開
P4U@java build 20080720
スクリーンショット
変更点
- MainView.java, MainView.form
- タスク「中断ボタン→デリートキー」に変更
- 検索結果「取得ボタン→ダブルクリック」に変更
- (こんな方法でいいのかよく分からないけど)メニューから終了出来るようにした
- 起動→スキャン終了直後に勝手にファイル一覧を表示するようにした
- AboutBox.java, AboutBox.form
- 逃げるのがうざったすぎるので色々変更した
- レイアウトをゴージャスにした
- OptionBox.java, OptionBox.form
- Tabキーを連打するのが面倒だったのでボタンにだけ mnemonic を設定した。
ダウンロード
P4U@java build 20080719
メモ
- MainView.form, MainView.java を置き換えればGUIの変更を反映出来ます。
- 「P4Uについて」は選択しないで下さい。強くしすぎて押せなくなってる馬鹿がここに。けど頑張れば押せます。
- ボタンの近くから一気にボタン中央へマウスポインタを移動させれば攻略可能
変更点
- MainView.java
- メニュー関係の処理だけ
- AboutBox.java(Share風)
問題
- メニュー項目「終了(X)」の動作が設定出来てない
ダウンロード
P4U@tondol on Java build 20080711 GUI強化版
スクリーンショット
変更点
- MainView.java
- OptionBox.java
作り忘れた部分
- メニュー:「P4Uについて」の動作
- メニュー:「終了」の動作
- 設定ダイアログのJLabelの余白
ダウンロード
P4U@tondol on Java build 20080605 GUI強化版
スクリーンショット
変更点
- メニューバー、ステータスバーを追加
- キーボードのみで操作出来るようにショートカットキーを設定
- GridBagLayout で潔癖にレイアウト
ダウンロード
P4U(仮称) Java移行テスト1
スクリーンショット
概要
NetBeans のプロジェクトをそのまま圧縮したGUIしかやってないP4U(仮称)。
何かの参考になれば幸いですがたぶん使いものになりません。
jTextArea とかボタンが押された時の挙動は FileSender を参考にしました。
何かの参考になれば幸いですがたぶん使いものになりません。
jTextArea とかボタンが押された時の挙動は FileSender を参考にしました。
独り言
- サクサク作れて楽しいGUIしかやってない。
- レイアウトは既存のP2Pファイル共有ソフトを参考にした。
- 結局フリーレイアウトが一番使いやすい。
- mnemonic を設定すれば Alt を使ったショートカットキーの設定が出来た。
- jTable を完全に黒背景白文字にするのは無理かも。
- javax.swing.JTable に列を追加するのは javax.swing.table.DefaultTableModel を介さないと無理そう。IDE から列名とか編集出来なくなって不便。
- ダブルクリックの検出はJTableのセルをダブルクリック を参考にした。
ダウンロード
P4U@tondol Version 0.01a GUI版
概要
P4U@tondol Version 0.01a にGUI機能を追加した。smples/sockets の構造を参考にしている。
ファイル構成
- main.rb
- 実行用プログラム
- app.rb
- class P4UApp
- gui.rb
- class P4UGUI
- define.rb
- module P4UGUIDefine
- client.rb
- class P4UGUIClient
- common.rb
- class FileInfo, class String, class Wx::ListCtrl
- setting.rb
- class SettingDialog
問題点
P4U@tondol Version 0.01 と同じ。
ダウンロード
P4U@tondol Version 0.01 GUI版
スクリーンショット
概要
P4U@tondol Version 0.01 にGUI機能を追加した。XRC を使用していないので様々なバグから解放されたがソースが肥大化していて汚い。
問題点
- ListCtrl にダブルクリックを検出するイベントが無いので、「項目を選択してからダウンロードボタンをクリック」のような不自然な操作をする必要がある。
ファイル構成
- main.rb
- 実行用プログラム
- app.rb
- class P4UApp
- frame.rb
- class P4UFrame
- client.rb
- module P4UClient
- common.rb
- class FileInfo, class String
- setting.rb
- class SettingDialog
問題点
- P4UClient をクラスとして使うのではなくモジュールとして使っているので汎用性が無い。
- wxRuby を使うと Thread の挙動がおかしくなるので、Thread 内の処理(他のクライアントとの通信)を実行するとP4U(仮称)が固まる。対策としては wxClient.rb のように Wx::Timer と Mutex を利用する事が挙げられる。
- Windowsの場合文字コードの問題で日本語が表示出来ない。(Mac OS から登録されたファイル名は全て問題無く表示可能)
- StatusBar が表示されていない。
- Wx::Dialog 上に Notebook を表示出来ないので設定ダイアログの製作が進んでいない。(P4U(仮称)の設定は main.rb 内の変数を直接編集して下さい)
ダウンロード
Version 0.0.5
スクリーンショット
概要
wxServer.rb は理解が困難だったため諦めた。
Version 0.0.3 の後継にあたるプログラムである。XRCを使用しCUI版の Hybrid_P2P クラスを完全に外部から操作する形になっている。
相変わらず XRC を使用すると Dialog が呼べなくなる問題は健在で、インデックスサーバにファイルを登録するときのファイル選択ダイアログが使えずに作業が進んでいない。
その他たくさん問題はあるが、ホストが localhost なら一応動作する。
Version 0.0.3 の後継にあたるプログラムである。XRCを使用しCUI版の Hybrid_P2P クラスを完全に外部から操作する形になっている。
相変わらず XRC を使用すると Dialog が呼べなくなる問題は健在で、インデックスサーバにファイルを登録するときのファイル選択ダイアログが使えずに作業が進んでいない。
その他たくさん問題はあるが、ホストが localhost なら一応動作する。
問題点
- 複数のホスト間でサーバー/クライアントの通信が出来ない
- インデックスサーバーは一つで固定
- ファイル名が同じ場合についての処理が考えられていない(ファイルのMD5を中心に処理されていない)
- ファイルの所有者が複数いる場合に分割ダウンロードをするといった処理が無い (新たに upload するときは./index/内のファイルを全て削除してから実行して下さい)
- Hybrid_P2P クラスとGUIの連携部分が雑で検索結果の表示がメチャクチャになるなどの不具合が生じている
- XRC を使用すると Dialog (ファイル選択ダイアログ、設定ダイアログ(現在はフレームで代用)など)が呼べない(wxRuby自体のバグかもしれません)
ファイル構成
- /dll
- 古いWindowsで実行した際に要求されるdllファイル
- /index
- インデックスサーバが持つファイル・所有者情報が格納される
- /down
- ユーザーがダウンロードしたファイルが格納される
- /up
- ユーザーがアップロードするつもりのファイルを格納する
- main.rb
- 実行用
- gui.rb
- メインウィンドウ描写
- setting.rb
- 設定ウィンドウ描写
- socket.rb
- HybridP2PクラスやTcpクラス
- ini.rb
- iniファイルを扱うためのクラス
- setting.ini
- INIクラスによって操作される設定ファイル
- gui.wxg
- wxGlade用の編集ファイル。メインウィンドウと設定ウィンドウの両方が含まれる
- main.xrc
- gui.wxgから出力されたXRCファイル
- exerb_conv.bat
- exerb 用のWindowsバイナリ作成用バッチファイル
- main.exy
- exerb_conv.batによって自動生成されたexerb用設定ファイル
- setting.exy
- exerb_conv.batによって自動生成されたexerb用設定ファイル
ダウンロード
Version 0.0.4
スクリーンショット
概要
XRC を使用すると Dialog が呼べなくなるのでソフト本体と設定機能を分離した。
思い通りに通信出来るように、プロが設計したと思われる wxRuby の samples/socket/wxServer.rb をGUIのみのP4U(仮称)に載せた。
インデックスサーバーや各ファイル所有者をクライアントの一つとして扱う事で理想通りの処理が可能だと思われるが未だ実装していない。
思い通りに通信出来るように、プロが設計したと思われる wxRuby の samples/socket/wxServer.rb をGUIのみのP4U(仮称)に載せた。
インデックスサーバーや各ファイル所有者をクライアントの一つとして扱う事で理想通りの処理が可能だと思われるが未だ実装していない。
ダウンロード
Version 0.0.3
スクリーンショット
概要
XRC を使用してGUIを実装した。
Hybrid_P2P クラスとの結合を試みたがが思い通りに動かず失敗している。
後継バージョンとして Version 0.0.5 がある。
Download Version 0.0.3
Hybrid_P2P クラスとの結合を試みたがが思い通りに動かず失敗している。
後継バージョンとして Version 0.0.5 がある。
Download Version 0.0.3
Version 0.0.2
概要
XRC を使用せずGUI実装を試みたが部品のレイアウトなどが面倒すぎて挫折した。
今後 XRC 関連のバグで困ったときのためにソースを公開しておくが「ID の定義部は全て列挙」のような書き方なので samples を参考にした方が良い。
今後 XRC 関連のバグで困ったときのためにソースを公開しておくが「ID の定義部は全て列挙」のような書き方なので samples を参考にした方が良い。
ダウンロード
Version 0.0.1
スクリーンショット
概要
GUI版の基礎となっている Hybrid_P2P クラスをCUIから操作している。
ファイル構成
- /up
- アップロードフォルダ
- /down
- ダウンロードフォルダ
- /index
- インデックスサーバー用ファイルリスト
- main.rb
- 起動用ソース
- class.rb
- 関数群とコマンド解釈
使い方
- 動作確認
- $ ruby main.rb localhost 8888
- サーバー
- $ ruby main.rb [自分自身のIPアドレス、もしくはホスト名] [自分自身のポート番号]
- クライアント
- $ ruby main.rb [サーバーのIPアドレス、もしくはホスト名] [サーバーのポート番号]
サポートしているコマンド
upload [ファイルへのパス、ワイルドカード可]
search [ファイル名、ワイルドカード可]
get [ファイル名]
quit
search [ファイル名、ワイルドカード可]
get [ファイル名]
quit