AbstractDHTBasedTool について

10 views
Skip to first unread message

bible135a

unread,
Dec 17, 2009, 12:18:25 AM12/17/09
to Overlay Weaver (Japanese)
首藤さん
齋藤です

質問ばかりで申し訳ありません

研究を進めるにあたり
AbstractDHTBasedToolのプログラムで分からない部分があったので質問させていただきました。
以下がその部分です

String contactHostAndPort = null;
int contactPort = -1;
String contactString = null;

if (args.length >= 1) {
contactHostAndPort = args[0];
join = true;

if (args.length >= 2)
contactPort = Integer.parseInt(args[1]);
}

コマンドラインに入力された文字列が1個であれば1個目を読み込み
2個であれば2個目をさらに読んで
最初に接続するポートを設定するという動作だと思うのですが…

この入力というのはいつ、どういった状況で入力するものなのでしょうか。
もし、owemuなどの起動時に-d のようなオプションとして入力するのであれば
それらオプションと競合など起こさないのでしょうか。

Kazuyuki Shudo

unread,
Dec 22, 2009, 11:25:17 PM12/22/09
to overlayw...@googlegroups.com
齋藤さん、首藤です。

AbstractDHTBasedTool を継承して作られたツール (例: owdhtshell コマンド) は、
オプション指定の後ろに、
引数として、こういうパターンを受け付けます:

hostname 引数 1つ
hostname:port 引数 1つ
hostname port 引数 2つ

ちなみに、この解釈は
ow.messaging.util.MessagingUtility クラスの
parseHostnameAndPort(String hostAndPort, int defaultPort) メソッド
で行ってます。

首藤一幸


> Message-ID: <dbcf902c-9ed2-4c6c...@u8g2000prd.googlegroups.com>
> From: bible135a <kinghak...@gmail.com>
> Date: Wed, 16 Dec 2009 21:18:25 -0800 (PST)

> AbstractDHTBasedToolのプログラムで分からない部分があったので質問させていただきました。

bible135a

unread,
Jan 4, 2010, 11:42:59 PM1/4/10
to Overlay Weaver (Japanese)
首藤さん、齋藤です。
コマンドプロンプトで owdhtshell 自PC名 と入力したところ
initial contact 自PC名:3997 と出力されました

hostname:port も試そうと思い owdhtshell 自PC名:3997
と入力するとエラーが起こらないのですが、違うポート番号を指定するとエラーが起きてしまいます。
ow.tool.emulator.Mainクラスに DIST_EMU_PORT = 3997 という行があったのですが
このポート番号しか指定できないということなんでしょうか?


> On 2009年12月23日, 午後1:25, Kazuyuki Shudo <2...@shudo.net> wrote:
> 齋藤さん、首藤です。
>
> AbstractDHTBasedTool を継承して作られたツール (例: owdhtshell コマンド) は、
> オプション指定の後ろに、
> 引数として、こういうパターンを受け付けます:
>
> hostname 引数 1つ
> hostname:port 引数 1つ
> hostname port 引数 2つ
>
> ちなみに、この解釈は
> ow.messaging.util.MessagingUtility クラスの
> parseHostnameAndPort(String hostAndPort, int defaultPort) メソッド
> で行ってます。
>
> 首藤一幸
>
>
>

> > Message-ID: <dbcf902c-9ed2-4c6c-99d2-226241f67...@u8g2000prd.googlegroups.com>
> > From: bible135a <kinghakonoor...@gmail.com>


> > Date: Wed, 16 Dec 2009 21:18:25 -0800 (PST)
> > AbstractDHTBasedToolのプログラムで分からない部分があったので質問させていただきました。
> > String contactHostAndPort = null;
> > int contactPort = -1;
> > String contactString = null;
>
> > if (args.length >= 1) {
> > contactHostAndPort = args[0];
> > join = true;
>
> > if (args.length >= 2)
> > contactPort = Integer.parseInt(args[1]);
> > }
>
> > コマンドラインに入力された文字列が1個であれば1個目を読み込み
> > 2個であれば2個目をさらに読んで
> > 最初に接続するポートを設定するという動作だと思うのですが…
>
> > この入力というのはいつ、どういった状況で入力するものなのでしょうか。
> > もし、owemuなどの起動時に-d のようなオプションとして入力するのであれば

> > それらオプションと競合など起こさないのでしょうか。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Tomonori Sano

unread,
Jan 5, 2010, 8:58:30 AM1/5/10
to overlayw...@googlegroups.com
齋藤さん
横から失礼します。佐野と申します。

owdhtshell でオプションが付かない単独の引数は、起動時にそのアドレスへ
接続を行う、という意味になります。ですので齋藤さんがメールに書かれた
内容は、「自 PC へ起動時に接続を行う」ということになります。
通常はすでに起動している owdhtshell のアドレスを指定して使います。

ポート番号 3997 以外を指定するとエラーになるのは、そのアドレス
で待ち受けているプログラムが存在しないからだと思われます。

もし待受ポートを 3997 から変更したいのであれば、-s [ポート番号] を
使います。
ただ -s を使わなくても、ポート番号 3997 から順番に待ち受けられる
番号を探していく機能がありますので、指定せずとも複数の owdhtshell を
起動することは可能です。

owdhtshell の引数についての詳細は、以下を参照してください。
http://overlayweaver.sourceforge.net/doc/manual/dhtshell/index-j.html

以上です。


bible135a さんは書きました:


> 首藤さん、齋藤です。
> コマンドプロンプトで owdhtshell 自PC名 と入力したところ
> initial contact 自PC名:3997 と出力されました
>
> hostname:port も試そうと思い owdhtshell 自PC名:3997
> と入力するとエラーが起こらないのですが、違うポート番号を指定するとエラーが起きてしまいます。
> ow.tool.emulator.Mainクラスに DIST_EMU_PORT = 3997 という行があったのですが
> このポート番号しか指定できないということなんでしょうか?

--------------------------------------
Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/ie8/

bible135a

unread,
Jan 6, 2010, 9:37:51 PM1/6/10
to Overlay Weaver (Japanese)
佐野さん、齋藤です。
自PCで起動しているowdhtshellの待ち受けポート番号が3997だったのですね。解決しました。
質問する前に教えていただいたdhtshellのマニュアルを見つけて読んでおくべきでした。
分かりやすいご指摘ありがとうございました。
Reply all
Reply to author
Forward
0 new messages