1 名前:デフォルトの名無しさん [03/01/26 20:35] P2Pの標準プロトコルを目指す Jxtaについてみんなでお勉強スレッドです。 初心者歓迎!質問歓迎! 関連ページ: www.wakhok.ac.jp/~maruyama/jxta/ www.atmarkit.co.jp/fjava/rensai/jxta01/jxta01_1.html www.atmarkit.co.jp/fjava/special/jxta01/jxta01_1.html www.janit.com/TechnoInf/Java/JXTA/JXTAPart1.html
68 名前:デフォルトの名無しさん mailto:sage [03/07/26 02:32] >66 その本持ってるけど訳わからん。
69 名前:デフォルトの名無しさん [03/08/01 11:15] こんちは〜。 >66さん 「JXTAのすべて」は一通り勉強したのでしょうか? 今勉強してるんですけど、example4_1.javaで困ってます。 コンパイルできません。 DiscoveryQuery query = new DiscoveryQuery(type, advertisementString, attribute, value, threshold); 上の部分でエラーになります。 問題はnet.jxta.impl.protocol.DiscoveryQueryの引数だと思うんですけど。 DiscoveryQuery(int type, java.lang.String peeradv, java.lang.String attr, java.lang.String value, int threshold) でいいんですよね? www.wakhok.ac.jp/~maruyama/jxta/ ↑だと DiscoveryQuery(int type, java.lang.String peeradv, java.lang.String attr, java.lang.String value) と書いてあって引数の内容が違うんです。 両方やってもうまくいきませんでした。 どなたかコンパイルできた人いますか?
70 名前:_ mailto:sage [03/08/01 11:17] homepage.mac.com/hiroyuki44/
71 名前:_ mailto:sage [03/08/01 11:18] homepage.mac.com/hiroyuki44/jaz09.html
72 名前:デフォルトの名無しさん mailto:sage [03/08/01 11:32] >>69 platform.jxta.org/java/api/net/jxta/impl/protocol/DiscoveryQuery.html ここみると文字列を引数にとるコンストラクタってないみたいだよ。
73 名前:69 [03/08/01 11:45] >>72 本当だ!! どうもありがとうございます。 この本の内容がもうすでに古い内容だったとは・・・
74 名前:69 [03/08/01 12:32] 補足なり DiscoveryQuery query = new DiscoveryQuery(type, advertisementString, attribute, value, threshold); の部分を DiscoveryQuery query = new DiscoveryQuery(); query.setAttr(attribute); query.setValue(value); query.setThreshold(threshold); query.setDiscoveryType(type); query.setPeerAdv(advertisementString); こんな感じにしたら実行結果が同じになりなりました。
75 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:06] (^^)
76 名前:デフォルトの名無しさん [03/08/04 02:56] P2Pで動く将棋ゲームとか、囲碁ゲームって外出?
77 名前:デフォルトの名無しさん mailto:sage [03/08/04 15:58] >>76 非同期P2PのJxtaを どうやって将棋に使うんだ?
78 名前:デフォルトの名無しさん mailto:sage [03/08/05 04:39] 一手刺すたびに計算ノードが移動していくんだよ
79 名前:デフォルトの名無しさん mailto:sage [03/08/10 01:33] >77 ピア発見にJXTA使って、あとは自前のプログラムでやってみれば?
80 名前:デフォルトの名無しさん mailto:sage [03/08/10 11:52] >>77 パイプも知らないヴァカはけーん。 非同期通信しかできないんだったらチャットなんか作れねえだろうが。
81 名前:山崎 渉 mailto:(^^) [03/08/15 16:04] (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
82 名前:デフォルトの名無しさん mailto:sage [03/08/22 19:14] 盛り下がってますが、どなたかJxtaを使って2chのような掲示板をつくりませんか?
83 名前:デフォルトの名無しさん mailto:age [03/08/24 15:25] smalltalkjxtaについて何か情報持っている方いらっしゃいませんか?
84 名前:デフォルトの名無しさん mailto:sage [03/09/01 23:26] jxta見てたら、 「誰かimplementして」 とか書いてあって悲しくなった。 確か「jxtaのすべて」の英語版がwebにpdfであったよ。 いい内容だった。
85 名前:デフォルトの名無しさん mailto:sage [03/09/04 02:07] Jxtaのライブラリを使って Pure型アプリは作れるのでしょうか?
86 名前:デフォルトの名無しさん [03/09/09 09:30] ttp://www004.upp.so-net.ne.jp/yudoufu/jxta_no1.html ↑のソースを実行させたいんですが netPeerGroup = PeerGroupFactory.newNetPeerGroup(); の部分でJXTA Configuratorが起動されてしまいます。 起動させないようにするにはどうすればよいでしょうか?
87 名前:が@Mたんちゅき p3173-ipad04fukuokachu.fukuoka.ocn.ne.jp mailto:sage [03/09/09 22:23] >>86 たん。 その>>86 のリンク先のページに、 「この時、カレントディレクトリに.jxtaという名前のサブディレクトリがなければ、設定ツールが表示されます。」 とあるように、 あらかじめ、.jxtaというディレクトリを作って、 そのディレクトリのなかにPlatformConfigなどの必要なファイルを自分で作っておけば、 JXTA Configuratorは起動されなくなるよ。 簡単な方法としては、たとえば以前JxtaShellを起動したことがあるなら、 JXTA_Demo/Shellディレクトリのなかにも.jxtaディレクトリがあるとおもうから、 それを丸ごとコピーしてしまうとか。 そもそも.jxtaディレクトリの中には、 JXTA Platformを起動するために必要な情報が格納されているわけです。 JXTA Platformは、この.jxtaの中に格納されたファイルの情報をもとにして起動されます。 もし、.jxtaディレクトリがなければ、JXTAプラットフォームを起動することができないので、 まずJXTA configuratorを起動して、このGUI画面にJXTA Platformを起動するために必要な情報を ユーザーに入力してもらうわけです。 たとえばピアの名前を何にするかとか、ネットワークの設定をどうするかなど。 で、その入力をもとに、JXTA Configuratorが、 .jxtaディレクトリと、その中のファイルを自動で生成してくれる、 だいたい、こういう感じの仕組み。 JXTA Platformの起動については、下のページが参考になりそう。 platform.jxta.org/java/configuration.html
88 名前:86 [03/09/10 10:24] >>87 さん お返事ありがとうございます。 PlatformConfig等のファイルはいつのまにか.jxta内にできてました。 jxta shellを初めて起動させた時にconfiguratorで設定したからでしょうか? 言いにくいのですが、実行できない原因がわかりました。 JXTA_Demo/Shellディレクトリで javac -classpath ../lib/jxta.jar SimpleJxtaApp.java java -classpath ..\lib\jxta.jar;..\lib\log4j.jar;..\lib\beepcore.jar;..\lib\jxtasecurity.jar;..\lib\cryptix-asn1.jar;..\lib\cryptix32.jar;..\lib\jxtaptls.jar;..\lib\minimalBC.jar; SimpleJxtaApp としたら実行結果が同じになりました。 どうやら実行の仕方がまちがっていたようです。 java SimpleJxtaAppってやってました(汗)。 ご迷惑かけました。
89 名前:デフォルトの名無しさん [03/09/19 12:33] ttp://www.jxta.org/docs/jxtaprogguide_final.pdf のp58のPipeListenerプログラミングの79行目 pipeIn=pipeSvc.createInputPipe(pipeAdv,this); でjava.lang.ClassCastException:net.jxta.impl.id.UUID.PeerID とエラーがでてinput pipeをつくることができないのですがどうしたらよいでしょうか?
90 名前:デフォルトの名無しさん [03/09/19 20:12] >>89 そのエラー前に出た事があったような気が。。。 実行した時に出るんですか?
91 名前:90 [03/09/19 21:29] >>89 ひょっとしたらpipeIDを別なものにするとうまく動かないでしょうか?
92 名前:89 [03/09/22 13:19] >>90 examplepipe.advの中のID(pipeID?)を変更したらうまく実行できました。 pipeIDとpeerIDを同じにしていたので実行できなかったようです。 ありがとうございました。
93 名前:デフォルトの名無しさん [03/09/23 00:26] このJxtaとやらはJava専用のAPIなの? それともプロトコルのこと?
94 名前:デフォルトの名無しさん [03/09/23 00:29] Jxtaで作ったソフトを他人に使わせるには、Jxtaのインストール説明書を 初心者に読ませないといけないのだろうか? JavaWebStartでうまくいできないかな?
95 名前:が@Mたんちゅき p3173-ipad04fukuokachu.fukuoka.ocn.ne.jp mailto:sage [03/09/24 07:59] >>92 89たん。 www.jxta.org/docs/ProgGuideExamples_2.0.zip を落としてきて使うと楽かも。 examplepipe.advなどの必要なファイルも、 いっしょに梱包されているので。 >>93 たん。 プロトコルです。 特定のプラットフォームや特定の言語に依存しないことを 主眼において設計されています。 現在Javaによる実装や、Cによる実装などが開発中のようです。 >>94 たん。 JXTA Shellなどのソースには、 JavaWebStart用のファイル一式を作成できるオプションがあります。 antを用いてant jnlpと入力すれば、 jnlpファイルの作成からからjarファイルへの署名まで、自動的に実行がなされます。 でも現在の問題は、インストールするまでの手間よりも、 JXTA Configuratorの使い勝手の悪さかも。 詳しい説明書などがないと、 これを使って初期設定をするのは初心者には大変そう。 とりあえず昨日、2.1.1をコンパイルするついでに JXTA ShellをJavaWebStart化してみました。 信頼できる証明書がないから実行しようとすると警告でるけれど。 javawebstart.minidns.net/jxta/shell.jnlp // あとJavaVM1.4.2で実行すると、あいかわらず文字の表示が乱れるけれど。
96 名前:デフォルトの名無しさん [03/09/25 19:00] こんちは 今、JAVA PRESS vol28の「ワイヤレスP2Pがやってきた!」 を読みながらJXMEの勉強をしているのですがうまく自前でリレーピアが つくれません。 p119からのとおりにリレーピアを作ったのですが、リレーピアの稼動確認で telnet localhost 9700としても何もおこりません。 リレーピアからの応答がなければできたことにならないのでしょうか? どなたかできた方はいますか?
97 名前:96 [03/09/26 17:24] 自己フォロー まったく問題なくできました。
98 名前:デフォルトの名無しさん [03/09/26 17:36] JXTAとJXMEを使ってPCと携帯電話で簡単な通信がやりたいです。 昔、JXMEはJXTA1.0としか通信できないと聞いたんですが 現在、JXTA2.0,JXTA2.1と通信はできないんでしょうか? 9月15日に提供開始したJXTA2.1.1の中のjxme.zipをつかっても JXTA2.1.1とは通信できませんか?
99 名前:デフォルトの名無しさん [03/09/27 11:29] >>98 うろ覚えなので間違っているかもしれんが、 JXTA1.0->JXTA2.0でプロトコルが変ったはず。 下方互換がないとかいう話だったように思う。 確かJXTA 2.0のリリースノートで、 1.0と変ったところにそんな話があった。 確認してみては?
100 名前:デフォルトの名無しさん mailto:sage [03/09/27 12:28] こんなんJava厨しか使わないでしょ。
101 名前:デフォルトの名無しさん [03/10/12 12:05] Bill JoyとSunが関わっているだけに、 仕様書などを読む限りでは、 Javaよりはその概念はUNIXに非常に近いですね。 JXTAの背景について大まかに説明した「ビジョンと哲学」の箇所にも、 その思想が、ちらっと顔をのぞかせています。 And we outlined a vision for the software. Some key components are: ソフトウェアに対して我々は大まかにビジョンを描いた。そのキーコンセプトは、 2. develop administrative commands for peers, peer groups, and groups of peers in the spirit of UNIX pipes and shells その2は、UNIXのパイプやシェルと同じ気質をもった、ピアやピアグループを管理するための命令を開発する。 3. keep the core small and elegant その3は、コアはスモールでエレガントに保つ。 www.jxta.org/project/www/background.html
102 名前:デフォルトの名無しさん [03/10/12 12:06] そしてJXTAの究極的な目標は、言語やハードはもちろん TCP/IPなどの、特定の通信プロトコルにすら依存しないことです。 現在、最も実装が進んでいるのは、 PC上のJavaと、TCP/IPによる実装で、 これに次ぐのが、携帯などモバイル上のJavaとTCP/IPによる実装ですが。 その他の言語においては以下のページか、 それか各プロジェクトメーリングリストなどを直接参照するとよろしいかと。 C, C++ jxta-c.jxta.org/ Perl jxtaperl.jxta.org/ Python jxtapy.jxta.org/ Ruby jxtaruby.jxta.org/ Smalltalk smalltalkjxta.jxta.org/
103 名前:デフォルトの名無しさん mailto:sage [03/10/12 12:13] ネットワーク上に仮想的なUNIX環境ができあがり、 ユーザはファイルとなる、と。そんな感じ。
104 名前:デフォルトの名無しさん mailto:sage [03/10/12 12:14] >>98-99 J2ME用のJXTAなら、 JXTA protocol 2.0での実装がすでにリリースされているので、 そちらをどうぞ jxme.jxta.org/
105 名前:デフォルトの名無しさん mailto:sage [03/11/01 00:12] Cマガ見ながらP2Pソフトって作れるものなの? 簡単なデータ転送ソフトを作ってみたいんだけどアフォだからよーわからんのさ。
106 名前:が@Mたんちゅき p3173-ipad04fukuokachu.fukuoka.ocn.ne.jp mailto:sage [03/11/23 05:21] 2年前に、まだJXTAのバージョンが1だった時代に書かれた記事の バージョン2に対応した新しい記事がIBMにアップされたみたい。 でも日本語版はまだないのかな。 www-106.ibm.com/developerworks/java/library/j-jxta2/ JXTA 2: A high-performance, massively scalable P2P network www-6.ibm.com/jp/developerworks/java/011221/j_j-p2pint1.html dW : Java technology : P2Pを相互運用可能にする: Jxtaの物語
107 名前:デフォルトの名無しさん mailto:sage [03/11/28 23:12] 初めまして、どなたか、わかる方教えてください。 「JXTAのすべて―P2P Javaプログラミング」と言う本の 「JxtaMessenger」と言うJxtaサンプルアプリケーションを eclipseでコンパイルし実行したのですが本に書いて あるように動作しません。動作確認ができているかた すみませんが、どのようにしたのか教えてください。 www.brendonwilson.com/projects/jxta/ ↑のchapter11のソースです。 あと、一台のマシンでJxtaMessengerアプリケーション を2つ起動させ動作確認をする方法(ポートなどの設定)を くわしく教えてください。 初心者でかなり困っているのでわかる方どうか、よろしくお願いします。
108 名前:デフォルトの名無しさん mailto:sage [03/11/29 19:37] >>107 二つ同時に起動させるには、eclipseならもうひとつ同じ内容のProjectを作って、 JXTA ConfiguratorのadvancedタブのTCP,HTTP Settingの 9701,9700の数字を違う数字にする こんなんでよろしいか? >www.brendonwilson.com/projects/jxta/ こっちはまた暇な時に読んどきます
109 名前:デフォルトの名無しさん mailto:sage [03/11/29 22:49] >>108 ありがとうございます。 自分でもいろいろと試してるのですが 結果がでないのでソースの方もよろしくお願いします。
110 名前:デフォルトの名無しさん mailto:sage [03/12/01 22:48] >107 どうやってコンパイルした?? その本持ってるんだけど、何を言ってるのかサッパリで( ;´дフ;
111 名前:デフォルトの名無しさん mailto:sage [03/12/02 02:56] >110 コンパイルはeclipseの実行メニューから実行を選ぶとできました。 (すみません。初心者なんで上手く説明できません。) 私も本はさっぱりです。持っているのは2003年3月10日の初版なんですが www.jxta.org/ をみるとJXTAのversionも何回も新しくなっておりその関係で www.brendonwilson.com/projects/jxta/ にある、 本のPDFファイルにのっているサンプルソースと ダウンロードできるソースは違っていました。 ソースをコンパイルし実行すると、JxtaMessengerアプリケーション が起動したときに自分の状態が表示されるはずなんですが ホームページや本のソースのままだと表示されません。 これはソースが間違っているんでしょうか? 考えれば考えるほどわからなくなってきてます。 もし、このJxtaMessengerでメッセージのやり取りが できた方はJXTAのバージョンなどを教えてください。 よろしくおねがいします。
112 名前:デフォルトの名無しさん [03/12/02 15:02] JXTA Shell で println がうまく動作しません。 startApp メソッドの中で println を使っているのですが、 場所によって JXTA Shell の標準出力に表示されたり されなかったりするのです。 それと、net.jxta.impl.shell.* のドキュメントがどこにあるかが わかりません。ご存知の方がいれば教えてください。 よろしくお願いします。
113 名前:デフォルトの名無しさん [03/12/02 15:10] >111 特にエラーは出てないんですか? 本には最初起動したときにプロンプトが出ると書かれていますが そこまでは進んだのでしょうか?
114 名前:110 mailto:sage [03/12/02 16:10] なんか全然わかんないや。 eclipse使ってやってみたけど、無事にコンパイルできてるかどうかも不明。 環境変数とかどういう設定にしてます??>>111
115 名前:デフォルトの名無しさん mailto:sage [03/12/02 16:33] Antを使ってみたほうが楽かも。 あれなら、それほどインストールは難しくないし。
116 名前:デフォルトの名無しさん mailto:sage [03/12/02 22:43] >>115 一応、Antを落としてみたんだけどインストーラらしきものはなかったよ。 解凍して、適当な場所に置いただけ。 やっぱ知識不足は否めないなぁ。 ここまでわけわからんとマヂでいやになってくるわ。
117 名前:116 mailto:sage [03/12/03 00:18] jakartaのサイトでインストール方法がありました(笑) とりあえず、自分でもがんばってみます。 115さん、どうもありがと。
118 名前:112 [03/12/03 10:57] 説明が足りなかったので補足します。 『JXTA のすべて』の第5章を元にしたプログラムで、println で文字列が JXTA Shell の標準出力に表示されたりされなかったりするのです。 問題部分のソースは以下のとおりです。 public int startApp(String[] args) { int result = appNoError; ShellEnv theEnvironment = getEnv(); ShellObject theShellObject = theEnvironment.get("stdgroup"); PeerGroup currentGroup = (PeerGroup) theShellObject.getObject(); ResolverService resolver = currentGroup.getResolverService(); println("開始します。"); // 表示されない try { parseArguments(args); }catch (IllegalArgumentException e) { println("パラメータが不正です。"); // 例外時に表示される result = ShellApp.appParamError; } println("ハンドラを登録します。"); // 表示されない manageHandler(resolver); if (!removeHandler) { myCPQueryMsg cpquery = new myCPQueryMsg(base, power); String localPeerID = currentGroup.getPeerID().toString(); ResolverQuery query = new ResolverQuery( "myCPQueryHandler", null, localPeerID, cpquery.toString(), 0); println("送信 基数: " + base + " べき数: " + power); // 表示される resolver.sendQuery(null, query); } return result; } 原因がわかった方、どなたか教えてください。お願いします。
119 名前:デフォルトの名無しさん [03/12/03 14:02] >>102 > そしてJXTAの究極的な目標は、言語やハードはもちろん > TCP/IPなどの、特定の通信プロトコルにすら依存しないことです。 WSDL?
120 名前:デフォルトの名無しさん mailto:sage [03/12/04 13:08] やっとコンパイル&実行できました。 ふぅ、フォルダをいっぱい作るとは気づかなかった。 それにしても・・・なぜオンラインにならないんだろ。 ほかの方はちゃんとオンラインでチャットとかできてますか??
121 名前:デフォルトの名無しさん [03/12/04 15:34] >>120 アドバタイズメントの公開・検索がlocalだからじゃない?
122 名前:デフォルトの名無しさん mailto:sage [03/12/04 20:30] >>121 といいますと?? 設定が全然わかってなくて申し訳ないです。 どこの設定をいじればいいのでしょうか?
123 名前:122 mailto:sage [03/12/05 01:05] Cマガにあった記事を見ながら設定してみたけどオンラインになりませんでした。 Cchapter11のサンプルアプリなんですけど、起動はするものの自分自身も表示されないし・・・。 コマンドプロンプトを二つ起動させて、ポートもそれぞれ違うものにしてから JxtaMessengerを二つ実行してるのにユーザを追加してもオフラインのまま( ;´дフ; へるぷみ〜。
124 名前:デフォルトの名無しさん mailto:sage [03/12/09 04:45] sendMessage("保守");
125 名前:120 mailto:sage [03/12/09 15:18] >>111 結局、ちゃんと起動してチャットできるようになりましたか? こちらは相変わらずダメです。 設定画面が出てJXTA Messengerは起動するものの、 自分の状態も表示されないしチャットもできてないです。 うまく機能してる方いらっしゃいませんか?
126 名前:デフォルトの名無しさん [03/12/15 12:26] うわぁ・・・マヂでわけわかんないっす。 www.brendonwilson.com/projects/jxta/ のサイトにあるチャプター11のソースをコンパイルして実行したけど、 一、自分が追加されない。 二、ユーザを追加してもオンラインにならない。 どなたか、ちゃんと機能してる方いますか?? また、修正を加えたら動いたなどの情報もありましたらお願いします。
127 名前:デフォルトの名無しさん [03/12/18 15:08] >>126 俺はとりあえず、やりはじめたばかりだから和からんけど。 P456の訳者後書きに「List11.19はコンパイル、起動はできるが チャットを開始できなかった。」ってあるよ。 解決法も載っているので参照してみれ。
128 名前:デフォルトの名無しさん [03/12/18 18:04] >>123 CマガってそんなにJavaネタ使えるのか?
129 名前:デフォルトの名無しさん [03/12/18 18:18] Programmer's Guide読んだほうがいいよ。 バージョン2.0になったし。
130 名前:デフォルトの名無しさん mailto:sage [03/12/18 23:15] >>127 どうもレスありがとうね。 そのエラーについてはもう調べたし確認もしたよ。 引数のを修正すれば解決できたってあって、実際に落としてみたソースでは その引数が正しいものに変更されてたのよ。 だから・・・おかしいのよね。 >>128 たまたたP2P特集かなんかでJXTAが載ってたのよ。 そこまで深くやってなかったと思うけど。 >>129 参考にしてみます。
131 名前:デフォルトの名無しさん mailto:sage [03/12/19 10:58] >>130 >>128 今Jxtaの連載やってる。Cマガ。
132 名前:デフォルトの名無しさん mailto:sage [03/12/19 21:07] 監修した会社の方に問い合わせたら・・・ JXTAのバージョン2では起動はするものの自分が表示されなかったみたい。 ひじょーにヤヴァイ(汗
133 名前:デフォルトの名無しさん mailto:sage [03/12/20 22:50] 最近jxta始めたんですが jxta shellで peers -f peers とやっても groups -f groups とやっても、ローカルキャッシュが削除されずに フラッシュする前と同じ結果になるんだけど。 これって正常なのでしょうか? jxta shellのversionは2.2です。
134 名前:デフォルトの名無しさん mailto:sage [03/12/21 11:49] >>133 peers -f する前と後で env コマンドを試してみたら、 表示が変わっているよ。 peers しても表示は変わってないけど。
135 名前:112 mailto:sage [03/12/21 11:56] 自己レスです。 自作した jar ファイルをクラスパスに含めるんじゃなくて、 instjar コマンドを使えばいいということがわかりました。 instjar して試してみると、println は正常に動きました。 お騒がせしました。
136 名前:133 mailto:sage [03/12/21 13:12] >>134 ホントだ。確認しました。 サンクスコ。 とりあえず、発見サービス、情報サービス、パイプサービスの章を見たけど、 ソースの内容が結構Deprecatedになってる。 覚書 PipeClient.java //Message message = pipeService.createMessage(); Message message = new Message(); //message.setString("MessageText", messageString); message.addMessageElement(new StringMessageElement("MessageText", messageString, null)); PipeServer.java //messageText.setText(message.getString("MessageText")); messageText.setText(message.getMessageElement("MessageText").toString()); example4_6.java publishとremotePublishはint typeを入れない。 discovery.publish(advertisement, 10000, 1000); discovery.remotePublish(advertisement, (long)1000); あと7章の内容が全部駄目ぽ。 JavaもJXTAも始めたばっかなので訂正あったらゴルァしてください。
137 名前:デフォルトの名無しさん mailto:sage [03/12/28 01:44] メッセージ交換のときに日本語を使えるようにするにはどうしたらいいですかね? JXTA Messengerで日本語を送信すると文字化けしちゃうんですよ。 もちろん、送信先では日本語がちゃんと正しく表示されてますけど。
138 名前:デフォルトの名無しさん mailto:age [03/12/30 00:57]
139 名前:デフォルトの名無しさん [03/12/31 16:21] >137 xmlメッセージでencoding=Shift_JISにすればいいのでは?
140 名前:デフォルトの名無しさん mailto:sage [03/12/31 19:37] UTF-8以外は標準外
141 名前:137 mailto:sage [04/01/01 22:56] >139 そのxmlメッセージってどれですか?? >140 JXTAに詳しいのでしょうか?
142 名前:デフォルトの名無しさん mailto:sage [04/01/08 13:17] Chapter11のJXTA Messengerやっと動いたよ。 なんか InputPipeの .poll(int timeout)とwaitForMessage()が調子悪いんだけど 使い方間違ってるのかな。 覚書 >>136 と同じような修正。 BidirectionalPipeの代わりにJxtaBiDiPipeとJxtaServerPipeを使う。 ChatDialogの中MessageReaderで使われてるwaitForMessage()が調子悪かったので ChatDialogでPipeMsgListenerをimplementsして、リスナーを用いた。 なんか変更イパーイ。 次はprogrammers guide読みます。 >>137 日本語も平気だったよ。
143 名前:142 mailto:たまにはage [04/01/08 13:35] ついでに言うと、自分自身はリストに追加されませんでした。 というか、ソースをざっと眺めてみたけど、自分を追加してるところが見当たらないんだけど。 あと、ユーザを追加してもオンラインにならなかった。 その後で追加されたユーザの状態を変更すると、名前と状態が通知されました。 どうにも発見サービスのキャッシュが効いてないみたい。 ちょっと、この辺調べてみよう。
144 名前:ジャ馬場 [04/01/08 15:05] 唐突な質問で申し訳ないのですが、Java RMIって何なのでしょうか?
145 名前:137 [04/01/08 23:59] >>142 ,143 そうですか・・・日本語も扱えたのですか。 JXTA2.0だとチャットができなくて、JXTA1.0を導入してみました。 そしたら何とかチャットができるようにはなりましたけどね。 自分自身が追加されず、状態情報も変わらないのはこちらも同じでした。 しかし、ローカルで二つ起動させた場合に限っては、 もうひとつのピアを追加してからログインさせるとちゃんとオンラインになりましたよ。 具体的にどこのソースを変更したら日本語でメッセージがちゃんと送れるようになりましたか? Javaもわかってないので、相当苦労してます。
146 名前:BodyList.javaの中 mailto:sage [04/01/09 00:20] public void chatApproved(InitiateChatResponseMessage response){ ChatDialog chatDialog = null; PipeAdvertisement pipeAdv = response.getPipeAdvertisement(); if (null != pipeAdv){ JxtaBiDiPipe bidiPipe = new JxtaBiDiPipe(); String buddyName = null; while ( !(bidiPipe.isBound())){ try{ bidiPipe.connect( peerGroup, pipeAdv, 120000); }catch (IOException e){ System.out.println("Connect error:" + e); } buddyName = response.getName(); if (buddyName == null){ buddyName = response.getEmailAddress(); } try { chatDialog = new ChatDialog(buddyName, displayName, peerGroup.getPipeService(), bidiPipe.getInputPipe(), bidiPipe.getMessenger()); bidiPipe.setListener((PipeMsgListener)chatDialog); chatDialog.show(); } catch (IOException e) { e.printStackTrace(); } }else{ JOptionPane.showMessageDialog(null, "Buddy's reply is missing pipe advertisement!", "Unable To Chat!", JOptionPane.ERROR_MESSAGE); } }
147 名前:同じくBodyList.javaの中 mailto:sage [04/01/09 00:22] public void chatRequested(InitiateChatRequestMessage request, int queryID){ String buddyEmailAddress = request.getEmailAddress(); if (null != buddyEmailAddresses.get(buddyEmailAddress)){ ChatDialog chatDialog = null; String buddyName = null; PipeAdvertisement pipeAdv = (PipeAdvertisement) AdvertisementFactory.newAdvertisement( PipeAdvertisement.getAdvertisementType()); pipeAdv.setName("JXTA Messenger Pipe"); pipeAdv.setPipeID((ID) IDFactory.newPipeID( peerGroup.getPeerGroupID())); pipeAdv.setType( PipeService.UnicastType); try{ JxtaServerPipe serverPipe = new JxtaServerPipe( peerGroup, pipeAdv); chat.approveChat(pipeAdv, emailAddress, displayName, queryID); JxtaBiDiPipe bidiPipe = null; serverPipe.setPipeTimeout(1200000); while (null == bidiPipe){ try{ bidiPipe = serverPipe.accept(); }catch (SocketException e){ System.out.println("Interrupted: " + e);}} buddyName = request.getName(); if (buddyName == null){ buddyName = request.getEmailAddress();} chatDialog = new ChatDialog(buddyName, displayName, peerGroup.getPipeService(), bidiPipe.getInputPipe(), bidiPipe.getMessenger()); bidiPipe.setListener( (PipeMsgListener)chatDialog); chatDialog.show(); }catch (IOException e2){ System.out.println("Error in chatRequested: " + e2);}}}}
148 名前:ChatDialog.javaに追加 mailto:sage [04/01/09 00:29] public void pipeMsgEvent( PipeMsgEvent event){ System.out.println("Message recieved!"); Message messageObj = event.getMessage(); setVisible(true); if( messageObj.getMessageElement("ChatMessage") == null){ System.out.println("messageObj.getMessageElement == null"); }else{ System.out.println(messageObj.getMessageElement("ChatMessage").toString()); StringBuffer chatMessage = new StringBuffer( messageObj.getMessageElement("ChatMessage").toString()); StringBuffer conversationText = new StringBuffer(conversation.getText()); conversationText.append("\n"); conversationText.append(buddyName).append("> "); conversationText.append(chatMessage); conversation.setText(conversationText.toString()); } } ChatDialogでPipeMsgListenerをimplementsする。 ChatDialogのコンストラクタでOutputPipe outputPipeのところをMessenger messengerに変更。 //reader = new MessageReader(); //reader.start(); をコメントアウト ChatDialogのメンバ、OutputPipe outputPipeをMessenger messengerに変更。 >>136 のように 全てのpublishとremotePublishを変更(いっぱい)
149 名前:デフォルトの名無しさん mailto:sage [04/01/09 00:35] これでDeprecatedな内容は全部排除できたはず。 っつーか俺もJava初めて2、3週間なんで作法とか全然わかんね。 間違ってるとか修正あればつっこみキボン。
150 名前:137 mailto:sage [04/01/09 00:50] すごい・・・。 やっぱり漏れはバカです(苦笑) せっかく教えていただいたのでがんばって理解してみます。
151 名前:137 mailto:sage [04/01/09 01:05] ちなみに・・・こちらの動作をさせた環境は、 JXTAページから「jxta1.0_bin.zip」を入手してコマンドラインでコンパイルし、 JXTA Messengerを起動させました。 142さんは、どの環境でやってますか?
152 名前:デフォルトの名無しさん mailto:sage [04/01/09 01:12] JXTAはdownload.jxta.org/easyinstall/ から 最新版のバイナリ(JXTA_2_2_00 )拾ってきた 基本的にはWindows上で実行してます ソース編集、コンパイルとかは全部Eclipse。 1台のPCでポートを分けて二つ起動してます javadocも拾ってきとくとEclipseはかなり便利だと思う Emacsライクなインデントさえ出きれば文句ないんだけどなぁ
153 名前:137 mailto:sage [04/01/09 01:18] 最新版でも動いたんですか・・・。 こちらはあまりにも知識がないのでサッパリです。 JXTA1.0で日本語を送信できるようにしたいんですけど、 どこをいじっていいのやら。
154 名前:デフォルトの名無しさん mailto:sage [04/01/09 01:26] >>153 今からJXTA1.0をやる意味って薄くないですか? どうせだったらJXTA2.0で動くように書き換えたほうが 今後のためのスキルも身についてくるんじゃないのかな? どうしても1.0でやるんだったら問題の切り分けはしなきゃじゃない? ところどころで変数の値を出力してみて、何処で文字化けしてるのかを確定しなきゃ。
155 名前:137 mailto:sage [04/01/09 01:33] そうですね、おっしゃる通りです。 今のところ、JXTA1.0でしか動作してないのでそれを使ってるって感じです。 本も1.0のときに書かれてますし、1.0の方がまだわかりやすいかと思いまして。 まだまだ勉強が足りないってことですね。 いろいろアドバイスありがとうございます。
156 名前:デフォルトの名無しさん mailto:sage [04/01/12 17:09] www.brendonwilson.com/projects/jxta/ ここって、もしかして落ちてます? Jxtaの本買ったのでソースをとりにいったけど、つながらなかったので・・
157 名前:デフォルトの名無しさん mailto:sage [04/01/12 20:44] 俺も今ためしてみたけど、つながらなんだ。 どうしたんだろうね。
158 名前:デフォルトの名無しさん mailto:sage [04/01/13 08:38] すいません。 eclipse上ではJXTAプログラムが実行できるのですが jarファイルとして出力した場合、実行ができません。 マニフェストも見直してみたんですが・・ JXTApluginを使っているのが問題でしょうか?
159 名前:デフォルトの名無しさん [04/01/17 15:21] ワレ厨ご用達ツール作成スレはここですね?
160 名前:デフォルトの名無しさん mailto:sage [04/01/19 13:09] >>154 文字化けの箇所なんですが・・・ messageStringにパイプに渡してるときには大丈夫なのですけど、 chatmesasgeに渡すと文字化けをしています。 うーん、どうしたらいんでしょうね。 文字コードの変換をいろいろ調べてみたんですけど 具体的な解決策が見つからなくて( ;´дフ
161 名前:デフォルトの名無しさん [04/02/07 18:55] ageついでに。 パイプ アドバタイズメントから出力パイプを作成できん。 同じパイプアドバタイズメントを使ってるのに、jxta urnを解決できんっていわれるんだが。。 環境は最新版(VMも)。
162 名前:デフォルトの名無しさん mailto:sage [04/02/24 23:42] P2P Sockets Projectっていいね
163 名前:デフォルトの名無しさん [04/03/03 09:38] この度Jxtaを勉強しようと思い、「JXTAのすべて」を購入したのですが、 インストールが上手くできません。 javaのバージョンは1.4.2.03をインストールしました。 開発環境がLinuxなのでJxtaのシェルは「Without Java VM」のLinuxを ダウンロードし参考書の通りインストールしようとすると、 Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX) Stack Trace: java.lang.NoClassDefFoundError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62) at java.awt.Window.init(Window.java:231) at java.awt.Window.<init>(Window.java:275) at java.awt.Frame.<init>(Frame.java:401) at java.awt.Frame.<init>(Frame.java:366) at com.zerog.ia.installer.Main.c(Unknown Source) at com.zerog.ia.installer.Main.main(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.zerog.lax.LAX.launch(Unknown Source) at com.zerog.lax.LAX.main(Unknown Source) GUI- と表示されてしまいます。 これはどのように対処すればよろしいでしょうか? ちなみに現在X Windowが起動していないのですが、それが原因でしょうか?
164 名前:デフォルトの名無しさん mailto:sage [04/03/03 12:40] >>163 JXTAのインストーラーもJavaのAWTかSwingを使っていたので、 X window起動していないと、ダメだと思う。 X起動してからインストールしたらどうなりますか?
165 名前:デフォルトの名無しさん mailto:sage [04/03/03 16:11] いつになったらP2pできるんですか?
166 名前:デフォルトの名無しさん mailto:sage [04/03/06 08:54] P2Pでやりたいことってファイル共有のほかにどんなのがありますか?
167 名前:デフォルトの名無しさん mailto:sage [04/03/06 10:53] 世界征服
168 名前:デフォルトの名無しさん mailto:sage [04/03/09 06:07] >>166 リモートデスクトップ