Download presentation
Presentation is loading. Please wait.
1
JXTA Shell (2) P2P特論 (ソフトウェア特論) 第5回 /
2
JXTA Shell
3
JXTAのアーキテクチャ (3 Layer Cake)
4
JXTA Shell JXTAのプロトコル上で動くアプリケーション
Unix の Shell のように、コマンドを利用して P2P を使った情報の公開、転送などを行う。 コマンドは自分で新規作成可能 Java言語を用いる
5
JXTA Shell の起動 -- ひとつめの Peer を起動 --
6
ディレクトリの移動 (1) "jxta-shell-2.3.3" ディレクトリに移動 サブディレクトリが2つある
lib ... JXTA Shell の動作に必要な Jar ファイルがある shell ... JXTA Shell の起動スクリプト・実行ファイルなどがある
7
ディレクトリの移動 (2) shell ディレクトリ (およびディレクトリ中の全ファイル) を shell2 にコピーする
lib ディレクトリ、shell ディレクトリのほかに shell2 ディレクトリができた shell2 ディレクトリは、もうひとつの Peer の起動に使う shell ディレクトリに移動
8
JXTA Shell の起動 JXTA Shell を起動する (Windowsでは) jxta.exe あるいは run.bat を起動
(Unix系OSでは) run.sh を起動
9
“JXTA Configurator” ウィンドウが表示される
10
JXTA Configurator の設定 "Peer Name" に適当な名前 (ここでは tomoharu-peer1)
"Password" には適当なパスワード "Verify Password" は、"Password" 欄に入力したものを再度入力 "OK" ボタンを押す
11
“Initialize JXTA Keystore” ウィンドウ
"Identity" が "tomoharu-peer1" であることを確認 "Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する
12
ひとつめの Peer が起動されて、"JXTA Shell" が使えるようになる
13
“.jxta” ディレクトリ 設定情報・キャッシュなどは、起動ディレクトリの ".jxta" ディレクトリに保管される
2度目に起動したときは、”.jxta” ディレクトリの情報を読み出すので、”JXTA Configurator” ウィンドウは表示されない。
14
コマンドの実行
15
プロンプトの表示 ウィンドウの “JXTA>” というプロンプトにコマンドを入力する
16
whoami コマンド (1) プロンプトに対して “whoami” と入力する JXTA>whoami
<Peer>tomoharu-peer1</Peer> <Description>Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator</Description> <PeerId>urn:jxta:uuid A B8DAE E95978C43004EA73E03</PeerId> ...... JXTA>
17
(正確には Peer の告知 (Advertisement) の一部)
whoami コマンド (2) JXTA>whoami <Peer>tomoharu-peer1</Peer> <Description>Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator</Description> <PeerId>urn:jxta:uuid A B8DAE E95978C43004EA73E03</PeerId> ...... JXTA> Peer に関する情報が出力された (正確には Peer の告知 (Advertisement) の一部)
18
man コマンド whoami コマンドの使い方は、man コマンドで調べることができる。 JXTA>man whoami
-g と -l という2つのオプションがあることがわかる。
19
whoami コマンド (3) JXTA>whoami -l
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta=" <PID>urn:jxta:uuid A B8DAE E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ......
20
whoami コマンド (4) -l オプションを使った。 このPeerに関する告知 (Advertisement) が表示される。
JXTA>whoami -l <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta=" <PID>urn:jxta:uuid A B8DAE E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ...... -l オプションを使った。 このPeerに関する告知 (Advertisement) が表示される。
21
Peer告知 PID 要素は Peer ID を表す。 GID 要素は、このPeerが属している Peer Group
JXTA>whoami -l <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta=" <PID>urn:jxta:uuid A B8DAE E95978C43004EA73E03 </PID> <GID>urn:jxta:jxta-NetGroup</GID> <Name>tomoharu-peer1</Name> <Desc> Platform Config Advertisement created by : net.jxta.impl.peergroup.DefaultConfigurator </Desc> ...... PID 要素は Peer ID を表す。 GID 要素は、このPeerが属している Peer Group Name 要素は、JXTA Configurator で指定した Peer の名前
22
whoami コマンド (5) -g オプションで、所属している Peer Group の情報を出力する。
JXTA>whoami -g <PeerGroup>NetPeerGroup</PeerGroup> <Description>default Net Peer Group</Description> <PeerGroupId>urn:jxta:jxta-NetGroup</PeerGroupId> JXTA> -g オプションで、所属している Peer Group の情報を出力する。 JXTA では、デフォルトで NetPeerGroup という Peer Group に参加している
23
2つめの Peer を起動
24
JXTA Shell の起動 別のターミナルで "jxta-shell-2.3.3/shell2" に移動 JXTA Shell を起動する
(Windowsでは) jxta.exe あるいは run.bat を起動 (Unix系OSでは) run.sh を起動
25
“JXTA Configurator” ウィンドウが表示される
26
JXTA Configurator の設定 "Peer Name" に適当な名前 (ここでは tomoharu-peer2)
"Password" には適当なパスワード "Verify Password" は、"Password" 欄に入力したものを再度入力
27
ポート番号の設定 (1) "Advanced" タブを選択する
28
ポート番号の設定 (2) "TCP Settings" で "9701" となっているポート番号を "9702" に変更する
同一ホストで複数の Peer を立ち上げるとき、ポート番号を変更する必要がある "OK" ボタンを押す
29
Peerの起動 "Initialize JXTA Keystore" ウィンドウが表示される
"Identity" が "tomoharu-peer2" であることを確認 "Identity Password" では、"JXTA Configurator" で設定したパスワードを入力する ひとつめの Peer が起動されて、"JXTA Shell" が使えるようになる
30
Peer ID の確認 whoami -l コマンドを実行して、Advertisement 中の PID 要素をチェックしよう。
PID 要素は、Peer ID を表す。 tomoharu-peer1 と tomoharu-peer2 で Peer ID が違うことを確認しよう。
31
入力パイプの生成と公開
32
パイプ告知を用いた通信
33
newpipe コマンド JXTA>tomoharuPipeAdv = newpipe -n tomoharuPipe
34
env コマンド (1) JXTA>env ......
tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv] JXTA>
35
env コマンド (2) 現在の環境変数を一覧できるコマンド
“tomoharuPipeAdv” という環境変数は “Pipe Advertisement” (=パイプ告知) であることがわかる。 tomoharuPipeAdv = "Pipe Advertisement" [net.jxta.impl.protocol.PipeAdv]
36
cat コマンド 環境変数の値を出力するコマンド tomoharuPipeAdvはパイプ告知なので、告知のXMLファイルが出力される。
JXTA>cat tomoharuPipeAdv <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta=" <Id> urn:jxta:uuid E E104B85EE4B641EEBAA8C28A49556DA204 </Id> <Type>JxtaUnicast</Type> <Name>tomoharuPipe</Name> </jxta:PipeAdvertisement> JXTA> 環境変数の値を出力するコマンド tomoharuPipeAdvはパイプ告知なので、告知のXMLファイルが出力される。
37
パイプ告知 Id 要素、Type 要素、Name 要素がある。 Name 要素の内容は、newpipe コマンドで指定した名前
JXTA>cat tomoharuPipeAdv <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta=" <Id> urn:jxta:uuid E E104B85EE4B641EEBAA8C28A49556DA204 </Id> <Type>JxtaUnicast</Type> <Name>tomoharuPipe</Name> </jxta:PipeAdvertisement> JXTA> Id 要素、Type 要素、Name 要素がある。 Name 要素の内容は、newpipe コマンドで指定した名前
38
mkpipe コマンド JXTA>tomoharuInputPipe = mkpipe -i tomoharuPipeAdv
39
publish コマンド JXTA>publish tomoharuPipeAdv
40
出力パイプの生成と ファイルの送受信
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.