トップページ⇒tech
1001コメント429KB

P2Pでサーバに依存しない掲示板を作るの巻

■ このスレッドは過去ログ倉庫に格納されています
0001101/08/27 21:33ID:Uofeyeso
この掲示板コミュニティをずっと私たちのものにするために、P2Pでサーバに
依存しない掲示板を作るの巻。

クライアントサーバ型BBS、ハイブリッドP2P型BBSでは、サーバを必要とするために
運営に費用がかかります。掲示板では利益を生み出すことができない以上、これら
のサービスは持続可能なものではありません。

2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。
0364デフォルトの名無しさんNGNG
vojta用の24時間vojtaを動かせるように、新しいPCを自宅に準備中です。
tiaraはドメイン名があってかっこいいと思いました。真似することにします。

なんでPure型なのにサーバを用意しないといけないのだろう?なるべく静かなPCにしようと思います。
0365デフォルトの名無しさんNGNG
tiaraさんが利用されているzive.netは、有効期限(?)があるみたいですね。
動的に変動するIPアドレスと固定ホスト名を結び付けてくれる無料サービスは
いくつもあるみたいですが、使いやすいところはどこかなぁ。出来れば有効期限
がないところがいいなぁ思いっきりスレ違いですねsage
0366236NGNG
>>363

今日ようやく試験が終わったので、いろいろと調整してます。

>>364,365

既存のソフトを知らなかったので自作してしまいましたが、DiCEという
ソフトを使うとIPの自動更新ができるらしいです。これ使うと簡単に
URLゲットできます。
有効期限……ってあったかな?

固定URLはソフトの配布とか、告知とか、
なによりエントリポイントに使えるので。
#加えて格好いいし、ハッタリも必要かな、とも。

DiCEのページにDDNSプロバイダ一覧があったので参照するといいかもです。
0367デフォルトの名無しさんNGNG
>>364
Diceのホームポー時からDynamincDNSを提供してるサイトの一覧がみれます
http://www.hi-ho.ne.jp/yoshihiro_e/dice/#LIST
あとは非Diceな所もありますが・

vojta参加キボン
0368デフォルトの名無しさんNGNG
なんか3つぐらい個人的なProjectが走ってるようですが、質問です

1.プロトコルを開示するつもりはありますか?
2.またあるとしたら、その時期は?
0369デフォルトの名無しさんNGNG
名乗らない見ず知らずの人とは話さないほうがいいよ。
ヤクザかもしれないからね。
0370デフォルトの名無しさんNGNG
ヤクザってちゃんと挨拶しますよ。
「手前生国と発します所は...
0371236NGNG
【1】
クライアントが情報を取得する部分は完全公開します。
サーバが色々とやるところは公開しないかもしれません。

【2】
今すぐにでも別に困らないんですが、ドキュメントを書き直すのが
面倒なので、そういう観点からするとある程度仕様が決まってから。
0372デフォルトの名無しさんNGNG
外部とのやりとりのプロトコルは公開したほうが吉かと
批評してもらえるし

プロトコル仕様レベルになれば、厨は口出せないので
面倒なことにはならないだろうし

運が良いと、よりキレイなドキュメントにしてくれる人が
現れるかもしれないし
0373デフォルトの名無しさんNGNG
kage
0374デフォルトの名無しさんNGNG
vojtaは、最初の頃は書いてウェブに載せていたのですがハードディスクが
ぶっこわれて全部どっか逝っちゃいました。またそのうち書きます。
それにプロトコルはまだ固まってないので。
0375ほげ隊長 ◆cG6Ia.BU NGNG
>>368
>>372
まだ、zigumoが開発中のため、どんどん変更が入って
しまうと思いますが、とりあえず、ドラフト版を掲載
してみました。

http://www5.ocn.ne.jp/~zigumo/protocol.html

感想等ありましたら、よろしくです。
0376新入りNGNG
>>375

zigmoのプロトコル仕様読みました。
基本的にgnutellaなんですね


なんか他所で読んだネタだけど、
2chでIPv6 P2P キラーアプリケーションをつくろう
http://pc.2ch.net/test/read.cgi/tech/1011941933/51
にある、QueryHitを受け取った最初のサーバント上でのアドレスの書き換えとか
有用な気がする

あと「メッセージ識別子」がMD5Hashになってたけど、その生成方法が気になったかな。
gnutellaはms-winなGUIDだよね。あれはあれで、そこそこunique性が保たれてるけど、
zigmoは如何に?

スレッド・レス関連だけど、
スレッドの階層化が欲しい感じがします。
純粋にIDでuniqueになってれは良いって考え方もあるんだろうけど、
所得時に
/get_res_list/pc/tech/?threadid=xxxxx HTTP /1.0
とかの方が管理しやすいかなとか。(2ch そのままって話はあるけど)
でも要求を受ける側のデータ管理は楽になるんじゃないかな
保存先もまんまディレクトリで分けられるし

あとはもget_threadに関しても、気になる点はあるけど、
スレッドID,レスIDの仕様がわからないから・・・
そのへんの明確にしてくれれば

なんか勝手な事言ってスイマセン


0377デフォルトの名無しさんNGNG
>>374
ご愁傷様でした・・・

って、ソースは無事なんですよね?
0378ほげ隊長 ◆cG6Ia.BU NGNG
>>376
感想ありがとうございます。

> 基本的にgnutellaなんですね
そうなのです。既にある程度実績のあるプロトコルを流用してしまった
方が、問題が少ないかなと思ったりしました。

> にある、QueryHitを受け取った最初のサーバント上でのアドレスの書き換えとか
> 有用な気がする
NAT対応の件については、既に実装されていて、ハンドシェイクを
行うときに、NAT BOX越しに見た相手のIPアドレスを返信すること
で、いわゆるグローバルなIPを通知する予定です。
ですので、各サーバントでは自分がローカルにいても、ローカルIP
を埋め込んだパケットを流さなくてすみます。

> あと「メッセージ識別子」がMD5Hashになってたけど、その生成方法が気になったかな。
下記設計書の「匿名性の確保とユニーク」を見てもらえば分かるのですが、
http://www5.ocn.ne.jp/~zigumo/basic.html
基本的にMSのGUIDを元に、更にMD5Hashをかけています。
ですので、ほぼユニーク性は保てると考えています。

> スレッドID,レスIDの仕様がわからないから・・・
スレッドIDやレスIDも全て、GUIDを元にMD5Hashを取った値を使います。

> スレッド・レス関連だけど、
> スレッドの階層化が欲しい感じがします。
そうですね。ここら辺は悩んだのですが、とりあえず、内部的なデータの管理は
プロトタイプを急いで作って、その後で考えようということにしてしまいました。
多少のスクラップ&ビルドはやもうえないかなと、、、
ちなみに、表面的には(GUI上は)階層的に操作できます。

0379236NGNG
>>378
ほげ隊長さんのbasic.htmlが分かりやすかったので、
参考にして似たようなものを書くことにしました。
問題ないかと思うのですが、お礼を兼ねて報告しときます。
0380新入りNGNG
>>378

basic.hmtlの存在に気づいてませんでした・・

>> 基本的にgnutellaなんですね
>そうなのです。既にある程度実績のあるプロトコルを流用してしまった方が、問題が少ないかなと思ったりしました。


>NAT対応の件については、既に実装されていて、ハンドシェイクを行うときに、NAT BOX越しに見た相手のIPアドレスを返信すること
なるほど、ハンドシェイク時方が賢いですな。
>ZIGUMO OK\r\n\r\n
のOKの後あたりにIPをいれるのかな?

>基本的にMSのGUIDを元に、更にMD5Hashをかけています
これも了解。匿名性をupしてるんですね。

>スレッドIDやレスIDも全て、GUIDを元にMD5Hashを取った値を使います
スレ上で順序数(?)がUniqueで取れないからレスIDもGUIDになってしまうんですね。

板とかスレは名前が付くからよいけど、実際のレスはどんな感じになるのかな・・・?

">>378" とかってわけにはいかないだろうし。
メールとかニュースみたいにツリー状になるのかな。

">>b05fe4b7251186e2d1d0db1094c4d168" とかツライよね (w

まぁこのあたりは2ch形式から脱却しないといけない部分だとおもうけど。

なんにしてもGUIは出来てるあたりが頼もしいですね。

テスト等には協力させていただきますので、よろしくお願いします。



0381ほげ隊長 ◆cG6Ia.BU NGNG
>>379
どうぞ、どうぞ、どんどん流用しちゃってください。
私もGnutellaプロトコルとか関連サイトの資料をいろいろ参考に
させてもらっていますし、、、
やっぱり衆知を集めるのが重要だと思ったりします。

>>380
> >ZIGUMO OK\r\n\r\n
> のOKの後あたりにIPをいれるのかな?
ご明察です。
まだ、いろいろ検証中なので設計書に反映させていないのです。

> >スレッドIDやレスIDも全て、GUIDを元にMD5Hashを取った値を使います
> スレ上で順序数(?)がUniqueで取れないからレスIDもGUIDになってしまうんですね。
> 板とかスレは名前が付くからよいけど、実際のレスはどんな感じになるのかな・・・?
> ">>378" とかってわけにはいかないだろうし。
> メールとかニュースみたいにツリー状になるのかな。
> ">>b05fe4b7251186e2d1d0db1094c4d168" とかツライよね (w
そうですね。ここら辺が一番の悩みどころだったのですが、
いわゆる">>380"みたいな番号指定はあきらめました。
各自のサーバントで勝手にレスが付加されるため、レスの順番を維持
することは不可能なのです。
レスをつける場合はレスの番号を指定するのでは無く、ニュースやメー
リングリストでよくやられているように相手の文章の引用が主体となる
と思います。レスIDを指定してもいいですが、IDが32文字にもなって
しまいますので現実的ではないです。

> なんにしてもGUIは出来てるあたりが頼もしいですね。
いや、実はGUIの方も、とりあえずイケイケで作っちゃてますので、
プロトタイプが完成して、いろいろな人の意見を聞いてから細かいと
ころは手を加えようと思っています。
現時点では2ちゃんのように数珠繋ぎに無理やり表示しちゃってます。
ただ、データとしては、レスのタイトルとか、どのレスへのレスか、
といった情報を持たせていますので、GUI次第で、メールソフトのよう
に1メッセージづつ表示させたり、ツリー状の階層化は可能だと思い
ます。ここら辺はなるべく仕様をオープンにしていろいろな人が作って
くれたらなぁとか妄想しています。(もっとも、その前にzigumoプロト
コルが破綻しないできちんと動くか?ということが重要ですが、、、)

> テスト等には協力させていただきますので、よろしくお願いします。
こちらこそよろしくです。
0382新入りNGNG
>>379
禿げしく同意。
basic.htmlは良くかけてると思う。


オレも、メッセージ形式は後にして、p2pなネットワークな部分の仕様でも書くかなと考えてる


ちなみに236さんのはグリッドな接続なんですか?
それとvojtaは?

今月はちよっと余裕があるんで、p2pな実験をしてみたいと思ってます。
いろいろと資料を漁ってる段階ではあるんたけど、
グリッド接続の実証モデルとか作ってみたいかなと。
どこかに既にわかりやすいのがあれば、それを見るだけで満足なんだけど・
0383236NGNG
>>382
tiaraはgnutella型ではなくて
どちらかというとwinmx型なのでpureP2Pではないです。
トポロジはリングにスター形の接続。

グリッドのシミュレーションはJavaで誰か作っていました。
動く様子は見たけど、数値的にどうかはオレには分からんかった。
0384デフォルトの名無しさんNGNG
感想を一言で言えば、稚拙。
0385デフォルトの名無しさんNGNG
というよりも、グリッド->vojta なんです。
0386デフォルトの名無しさんNGNG
>>384

最低でも設計仕様作ってから言えー。
プログラム書けないやつでも名。

しかし、ちみなら世界を制覇できるものが
作れるのかもね?
そうだったら、すまんね。

ということで、君の案の仕様を見せてね。
0387 NGNG
http://www5.ocn.ne.jp/~zigumo/ 期待あげ。
毎日チェックしてるので頑張ってください。
普段はかちゅ〜しゃを使ってるので
こんなのは大歓迎です。
0388新入りNGNG
とりあえず、グリッドな接続のシュミレーションをやろうと思ってコード書いてます。
雰囲気的には、ライフゲームみたいな感じて。

それでプロトコルをまとめて見ようかと思います。

-----
ふと、昔・昔、
某所で192kbpsの専用線の下でNNTPサーバーをあげてた時に
フィードするグループの調整した苦労を思い出した。
ルータの転送量を監視しなが、alt.binaries以下をやめるかどうか悩んでいたあの頃を・・・

0389 NGNG
これが実現したら2ちゃんを超える??
0390236NGNG
2ちゃんが完全につぶれてしまうか、なんらかの理由によって
住み心地のよい2ちゃんが失われたときのものではないかな。

どんなにP2Pが優れていても、2ちゃんが現状を維持するなら
あまり需要は見込めないような気がする。
0391デフォルトの名無しさんNGNG
そらまったく同じやり方をすればな。
P2Pを生かした方法ってもんがあるっしょ。
掲示板主体で動き出すP2Pフレームワークみたいなものが出来れば
俺は結構面白いと思うな。
0392デフォルトの名無しさんNGNG
つーか、最大の違いは

2ちゃんねる→管理者がいる→削除しろゴルァ!!訴えるぞゴルァ!!
pure p2p掲示板→えっ、管理者いないの?→無法地帯だゴルァ!!

なんじゃないの?
2ちゃん自体が最近は規制が厳しくなっているからね。
昔の2ちゃんを知っている俺としては、あのころの無法地帯ぶりが
なつかしひ。
0393デフォルトの名無しさんNGNG
>>390
2chがいつまでも続くものだとは思わないし、それは楽天的過ぎる発想だと思う。

アウトになってから、次を準備しても遅いんで、
次を模索していく事は大切だとおもう

>>391
ファイル共有型は、ネガティブなイメージが付きまとうので、
p2pな部分とその上に載せるアプリケーションプロトコルの層を分離して、
まずは掲示板のアプリをってのは面白いと思う。

>>392
無法がそんな良いとも思わないが。
ポリシー的に二重に仕組みを用意するってのは良いかもしれない。



0394新入りNGNG
プロトコルを考えてた。

なんかHTTP とかGnutllaみたいに、
改行コード区切りより、Napsterみたいにlengthが入ってた方が
コマンドがバシバシ飛び交う場合は処理しやすいんじゃないかと思った。

gnutellaのメリットは、ブラウザでもファイル取得出来ちゃうかも・・って部分かなと

セパレータ待ちより、サイズ指定の方が、コマンド受信のコードはキレイかもとか。

どう思います?
0395236NGNG
>>394
プロトコルの設計で重要なこととはかけ離れていると思われ。
端的に言ってRAWメッセージの形式など枝葉末節、どうでもよい。
0396新入りNGNG
>>395
確かに枝葉であり、本質はそんなとこにはないんだけど
今時はどっちの方がトレンドなのかとちょっと気になった。

gnutella,freenet,openNapなクライアントもどきを試しに実装してみて
思った率直な感想だった。

重要はなのはp2pならば、いかにスムースな
ネットワークを構築するプロトコルにするかってあたりってのは
重々承知。

---
グリッドなネットーワークのシミュレータの実装はボチボチです。
Serventクラスが接続してきてネットワークの構築してくるようには出来た。
各Serventにランダムに所有物リストを保持
自立して、ランダムなタイミングで欲しくなった物を要求・取得
ダウンしてみたり、再接続してみたりするようにはなった。
でもネットワークの遅れというか混雑が実装されてない。
今はすべての処理を全体で一本のキューにいれて、
それを要求時にセットしたランダムなレイテンシーを使ってごまかしているが、
各接続もクラス化してネットワークをシミュレートしたい。
グリッドの論理的な接続と、実際の回線とは違うのでちょっとてこずってる。


0397デフォルトの名無しさんNGNG
>>395 = >>236
確かに枝葉の問題だが、結構現実的な問題だ。
理論では無く、実用にするための技術だからな。

ちなみに漏れは、両方だ。
行頭に行の文字数、行の最後にCRCとかね?
これはやりすぎ?
0398通りすがりNGNG
長さ+データだとバグや回線エラーでずれたときに復帰しずらいと思う。
明らかに区別可能な制御コードで区切りがあればそこで少なくとも回復できる。
0399かおなしNGNG
>>396 読み返すとなんかきつく書きすぎたかも。まあ堪忍な。
トレンドがXMLだとすると、バイナリで長さを送って、そのあとXML本文。

…………冗談で書いてみたが、結構良いかも。
0400236NGNG
あ、送信しちゃった。
>>399は>>236です。
0401デフォルトの名無しさんNGNG
>>399
JAXTA か?
0402電波5号NGNG
あのう
P2Pでヤフーオークションみたいなの
あったら
いいと思うんですが

出品者がサーバーになって
0403デフォルトの名無しさんNGNG
>>402
俺も考えたが、相手特定しづらいので犯罪が横行しそうだと思って止めた。
金が絡むと P2P は問題山積み。
0404新入りNGNG
>>397
CRCはあると安心かもと思うけど、実際問題、TCPの上に載せててエラーになるのって・・
と思ったけど、昔某国産のルータ使っててヅレた事あったな。

>>398
ヅレた時の復帰に関しては確かに悩む。
昨日もOpenNapなクローンを作ってたらバグってズレて泣いてたし。

でもデータ中に、制御コードと同一のものが入ってる場合はエスケープしないといけないよね。

実装を考えると、本文というかボディというかデータ部受信中に、
制御コードを見つけるコードを入れるのがちょっとな。


>>399
xmlか・・・
キライではないし、実務で使ってるから違和感はないんだけど、
最初タグの名称をフルスペルで実装したら、データ中のタグの割合が高すぎて、
ショートネームというか略称を使えるようにしてダイエットしたという悲しい記憶が・・・

soapとか試していると、実データに対して送信データのでかさに、泣けるときがあるし。

---------
いろいろ書いたけど、やっぱ悩みは深いかも。
というか決めればいいだけなのかもしれないが。
0405デフォルトの名無しさんNGNG
>>404
こういうので技術的に大風呂敷広げて成功したのって聞いたことないから、あまり
XML とか SOAP とかにこだわらないほうが吉かもね。でも CRC か MD5、エラー
ブロックだけの再回収はデータ取得の安定に直結するのであった方が良いような。
0406知ったかNGNG
データが多いときはXMLはデメリットの方が大きいよ〜
0407236NGNG
データ量については考えたんだけど、
フィールドに当たるものを要素じゃなくて属性として書けば
大して違わないような気がしたのよ。だめかなぁ。
0408新入りNGNG
>>405
Soapは.netで使うと、ナルホド便利だねって感じる。
でもそれは、プログラマっていうかCoderの観点から便利って事。
パフォーマンスとか、アプリケーションユーザにとって幸せかどうかは別問題。

XMLも、たとえば通信で使用するデータの構造を組み立てていくのには便利だし
拡張性があるから、あとからコレもとか思ったときも安心。
でもコレも作る側の幸せ。

使う方(アプリユーザー)にしてみたら、どうでも良いこととか思っちゃったりしてる。

0409デフォルトの名無しさんNGNG
通りがかりだけどおせっかいな業務経験者から一言。
XML の使用はココ一番というところだけに抑えておいたほうがいいよ。設計の中心に XML を持ってくると
実装量とパフォーマンス劣化が指数関数的に増加してゆくから。グローバルスタンダードなプロトコル作る
気でなければ XML は高価すぎるよ。無理しないで TCP のストリームベース部分なら UTF-8 あたりの
telnet ベース、UDP/ブロードキャストのパケットベースなら固定長バイナリが良いと思われ。
今時はファイアウォールやプロキシ、NAT ルータを意識した作りが必須かも。
0410デフォルトの名無しさんNGNG
oopとxml
0411デフォルトの名無しさんNGNG
圧縮して送受信すれば、XMLでもサイズの問題はないと思うけど・・・・・
予め知り得る情報も多いから、両端が共通の辞書を持てば、殆ど無視
できるレベルだと思う。
0412デフォルトの名無しさんNGNG
>>411
いくらパーサが流通してても XML は実装がでかくなる。
でも圧縮はいいね。CRC はそれに任せられるから。
0413新入りNGNG
>>411
圧縮するにしても、最初から余分なタグが付いてない方が楽でしょう。
そのXMLのフォーマットに最適化した圧縮をするならば別だけど。

でもDOMパーサーは容量が増えるとダメだね。
SAX使ってネイティブなデータ構造に収納しないと。


>>412
DOMパーサーを使ってそこにデータを保持してよいなら、
実装はコンパクトにできるよ。メモリ喰うけど。
MSXMLなんかはクエリー検索できるから便利だよ。
(selectSingleNodeとかね。)

0414デフォルトの名無しさんNGNG
vojtaアップデートしました。
http://vojtaproject.tripod.co.jp/

さらに、vojtaproject.kicks-ass.orgの80番ポートでいつでもアクセスできるようになったのです。
24時間お試しくださいです。
0415デフォルトの名無しさんNGNG
接続できない人がいるみたいです。テストは最新版(0911a)でお願いします。
0416デフォルトの名無しさんNGNG
>>414
ういっす。
試してみたけど、つながらないです。
なんかvojtaproject.kicks-ass.org:80に接続するけど反応がないみたい
0417デフォルトの名無しさんNGNG
0911aをつかってます。

掲示板を開いて、ConnectorsのShowをクリックして、FeedHostにvojtaproject.kicks-ass.orgですよね?
0418デフォルトの名無しさんNGNG
あれーおかしいなぁ。今ダイアルアップでつなげてみたんですけど、うまくつながります。
恐れ入りますが、アプリケーションを再起動してもう一度試してみていただけますか?
0419デフォルトの名無しさんNGNG
うまくつながらないかた、インターネットへの接続方法と接続速度をお教えいただけませんでしょうか?
0420417NGNG
つながりました。

理由は、あっちに書きましたが、
こちらのポートを変更しようと企んだが、失敗。
80に戻したらIISがいたという落ちです。

掲示板2にだけつながりました。
0421417NGNG
ポート変えてもだめみたいです。
その後メッセージはオレのIP:80 って出てるし。

で、なぜかしらないけど、接続できなくなった。
Feedしようとしてボタン押しても、コンソールになんの反応もない・・・
0422417NGNG
なんとなく、ですが、
板単位で、どこかの板がfeed中に他の板(同じ板を含む)もFeedしようとすると、「ページがみつかりません」になるね。

0423417NGNG
ダメボ・・・
つながらない、というか自分の80番が開かないみたい。
だから、接続にいってもこちらの口が開いてないから、ダメボ・・・

netstatでみる限りは死体は転がってないんだけど・・
0424デフォルトの名無しさんNGNG
>ポート変えてもだめみたいです。
>その後メッセージはオレのIP:80 って出てるし。

変更に失敗しているといったことは考えられませんでしょうか。テストしてみましたが、
変更は効いているみたいです。

一度Vojtaを終了し、2分くらい立ってからもう一度接続してみてください。なんかすみません。
0425417NGNG
ファイルの書き換えはうまくいってます。
PCを再起動してみましたが、ダメボ・・・・
メッセージはこんな感じですだ。
----------
Starting proxy thread port:8081
feed entrance:vojtagroup_vojtatest2
queryMyRemoteHost:vojtaproject.kicks-ass.org:80
new Host:vojtaproject.kicks-ass.org:80
queryMyRemoteHost:vojtaproject.kicks-ass.org:80
DROPPED:failed to get packet3
queryPacket:PacketSelfOrganizationQuery, XX.XX.XX.XX:80, QUERY_MASTER, NONE, -
1450139986
0426417NGNG
申し訳ないがねます。

また明日よろしくおねがいたもう。
0427デフォルトの名無しさんNGNG
あぁなんか僕も寝ます。ありがとうございましたです。
他にもテストしてくれる人がいたらつなげてみてくださいです。
0428417NGNG
ちなみに、ダイヤルアップして繋いでもみたので、アドレス2つ分は私です。

結構期待しているage!!
0429デフォルトの名無しさんNGNG
初回起動時にDBのテーブルが無いという例外が出ます。

D:\temp\vojtaproxy0911a>java -cp lib\xerces.jar;lib\hsqldb.jar;lib\activation.ja
r;lib\mail.jar;lib\vojtaproxy.jar vojta.VojtaApplication
debug.properites initialized
instantiating db connection...
compute guid
java.sql.SQLException: Table not found: PROPERTIES in statement [INSERT INTO Pro
perties (GUID) VALUES(-98857582)]
at org.hsqldb.Trace.getError(Trace.java:180)
at org.hsqldb.jdbcResultSet.<init>(jdbcResultSet.java:2645)
at org.hsqldb.jdbcConnection.executeStandalone(jdbcConnection.java:994)
at org.hsqldb.jdbcConnection.execute(jdbcConnection.java:721)
at org.hsqldb.jdbcStatement.fetchResult(jdbcStatement.java:686)
at org.hsqldb.jdbcStatement.executeUpdate(jdbcStatement.java:85)
at vojta.servant.MessageDBHsqldb.getGuid(MessageDBHsqldb.java:64)
at vojta.servant.VojtaServantImpl.<init>(VojtaServantImpl.java:39)
at vojta.VojtaApplication.startApp(VojtaApplication.java:56)
at vojta.VojtaApplication.start(VojtaApplication.java:46)
at vojta.VojtaApplication.main(VojtaApplication.java:28)
Starting VojtaClient:Vojta試験用掲示板
Starting VojtaClient:Vojta試験用掲示板2
Starting VojtaClient:別の掲示板
0430デフォルトの名無しさんNGNG
んで、Database->initializeしてみると、やっぱり PROPERTIES っていうテーブルが無いって怒られます。
これって期待通りの動作でしょうか?

Starting proxy thread port:8081
initializedb
java.sql.SQLException: Table not found: PROPERTIES in statement [DROP TABLE Prop
erties]
at org.hsqldb.Trace.getError(Trace.java:180)
at org.hsqldb.jdbcResultSet.<init>(jdbcResultSet.java:2645)
at org.hsqldb.jdbcConnection.executeStandalone(jdbcConnection.java:994)
at org.hsqldb.jdbcConnection.execute(jdbcConnection.java:721)
at org.hsqldb.jdbcStatement.fetchResult(jdbcStatement.java:686)
at org.hsqldb.jdbcStatement.executeUpdate(jdbcStatement.java:85)
at vojta.servant.MessageDBHsqldb.dropTable(MessageDBHsqldb.java:750)
at vojta.servant.MessageDBHsqldb.initialize(MessageDBHsqldb.java:666)
at vojta.servant.VojtaServantImpl.initializeDB(VojtaServantImpl.java:213
)
at vojta.proxy.VojtaServerHTTPHandler.commandBodyDBInitialize(VojtaServe
rHTTPHandler.java:1291)
at vojta.proxy.VojtaServerHTTPHandler.executeCommand(VojtaServerHTTPHand
ler.java:160)
at vojta.proxy.ProxyThread.run(ProxyThread.java:74)
compute guid
0431デフォルトの名無しさんNGNG
今日は、なぜ昨日(部分的に)うまくいかなかったのかを検証します。

メシ。
0432デフォルトの名無しさんNGNG
>>429
初回起動時はデータベースが初期化されていないため、そのような例外が発生します。
データベースを初期化してください。
0433デフォルトの名無しさんNGNG
データベースの初期化に失敗している可能性が考えられます。データベースのステータスは
どのように表示されていますか?
0434417NGNG
準備おっけー

0435429NGNG
>>433

あ、なんかこれが出るのは
・最初に起動した時
・最初に初期化する時
みたいですね。STATUSはOKになってますし、再度初期化してみるともう例外は出ません。

お騒がせしました。
これからちょっと試してみますね。せっかく1.4.0rc入れたんで(w
0436デフォルトの名無しさんNGNG
>>429
わかりにくくて申し訳ないです。vojtaのフォルダのインストールする位置によっては、
データベースを初期化できないという不具合があるらしく、例外を出すようにしている
のです。
0437デフォルトの名無しさんNGNG
不具合発見。
LinuxでJavaVMを動かす。デーモン起動すると、文字コードが化けてしまう。
一般ユーザやルートで動かすと大丈夫なのに。

ほらほら!なんでだろう。多分言語設定が違うのだろう。どうやって変更するのだろう?
http://vojtaproject.kicks-ass.org:8081
0438デフォルトの名無しさんNGNG
localeの問題では?
0439236NGNG
>>437

WinXPですが、http://vojtaproject.kicks-ass.org:8081/を見てみたら
左のメニューところが下のようになってます。

Vojta

Vojta???????
Vojta??????
Vojta???????

??????
?????


?????

Menu
Status...
Database...
Exit Voita
About Vojta...


.NETだと変換不能な文字コードを変換しようとしたときに似てるんですが、
大丈夫でしょうか。これからこちらの環境に入れて動かしてみます。
0440デフォルトの名無しさんNGNG
デーモンで動かすと、おそらく標準の言語設定が日本語ではないどこかの文字に設定されて
いるので、標準の文字コードがずれて文字化けを引き起こしているようです。とりあえず、
ShiftJISに無理やり設定してコンパイルしなおしました。それから8081番のポートを空けておくと
誰でもデータベースを初期化できてしまうため、閉じました。

一旦再起動しますので、接続が切れたり、つなげられなくなるかもしれません。数分間お待ちください。
0441デフォルトの名無しさんNGNG
文字コード(暫定的に)直したです。

やっとメシ食ってきます。
0442デフォルトの名無しさんNGNG
人数いないとツマランですな。
0443お試し中NGNG
UJAXPでgetDocumentする時にURLを直に渡すんではなくて、エンコーディングを
明示したInputStreamReaderを渡さないとダメかもね
0444236NGNG
動かしてみたけど、どうも指定したポートが開いてないような…。
8081ポートは常に開いているんだけど、VojtaServantPreference.xml
で指定した8080ポートが開いてない。80はIIS用なので使えないし。

起動時にエラーメッセージは出ませんです。

あとついでに思い出したんだけど、

「GUIDともに強制表示されます。[Detail]」

のDetailをクリックしたときのMS932というエンコーディングのせいで
IE6.0では見れないです。暇なときに直していただけると。
0445429NGNG
ホストとポートを確認してfeedボタンを押すと、以下のようなメッセージがブラウザ上に出ますが、
コネクタのリストには追加されません...

Host(vojtaproject.kicks-ass.org:80) was feeded to servant.

・環境は Win2k/J2RE1.4.0rc/IE5.5
・サーバントが使うポートは8080に変更
・外向けに空けているのは8080のみ(8081は閉じています)
0446429NGNG
VojtaServantPreference.xml の指定は無視されて、
確かに80番固定になっているみたいだ..
0447417NGNG
昨夜試していたんですが、VojtaServantPreference.xmlでのポート変更はきいていないような感じです。
0448429NGNG
vojta.servant.VojtaServantPreference#init の実装が怪しいかもかも
修正キボンヌ>作者様
0449デフォルトの名無しさんNGNG
確かに80番固定はツライよの。
0450デフォルトの名無しさんNGNG
正直な話WWWのwell-knownを使うということ自体が不思議でならない。
たしかにFWとかを通り抜けられるが、開発段階では意味が無いように思う。
0451デフォルトの名無しさんNGNG
寝てしまった…

80番ポートの変更が効かないという点について試してみました。

81番ポートに変更し接続を行ってみたところ、んー。昨日と同じように普通に変更され、何も問題なく
接続できるようです。何を見落としているのだろう…
0452デフォルトの名無しさんNGNG
>>451
8082 とか4桁にしても関係ないよね?

こちらでも81番で試してみます。
0453デフォルトの名無しさんNGNG
8082番でもカキコできることを確認しました。
テスト中他の接続に関するバグを見つけたので、もしかすると、それが原因なのではないかとも思います。
とりあえずそれを直してみます。

(1)起動時にStartingVojtaServer...のところに表示されるポート番号
(2)ブラウザの画面左側のStatusをクリックして表示されるリモートホストの箇所のポート番号

を確認してください。つまらなくてごめんなさいです。ご協力本当に心から感謝です。

画像とかmp3とか任意のファイルを張れるようにしたら人は集まるのだろうか…
0454429NGNG
VojtaServantPreference.xml の変更が反映されない件ですが、

vojta.VojtaApplication#loadVojtaServantPreference の中で
VojtaServantPreference のインスタンスを作る際に例外が発生して
結局 loadDefaultVojtaServantPreference で作られたデフォルトの設定が
使われてしまっています。

なんで例外が発生しているかというと、
vojta.servant.VojtaServantPreference#init の中で、
workAsServer_ = URelaxer.getElementPropertyAsBoolean(rstack.popElement());
という(実在しない)エレメントの取得を行っているためにスタックが一つずれて
最後にnullエレメントを取得してしまうからです。

スマソ、decompileしてソース読んでしまったよ
0455デフォルトの名無しさんNGNG
>>454

ビンゴだそれ。直します直します。
parserが古いのか。原因がやっとわかりました。ありがとうです。

ソースコード公開はもうちょっと待ってくれ。
0456デフォルトの名無しさんNGNG
>>453
>画像とかmp3とか任意のファイルを張れるようにしたら人は集まるのだろうか…
これは微妙かも。

freenet+frostとかもあってダウソ板でスレもたってるけど、JAVAな環境の敷居が高いのか、
まだ規模が小さいとか、freenetの仕様上の問題なのかで、いまいち盛り上がってない。

だからファイル共有があれば、人が集まるとは一概には言えないかと。

でもあと10人ぐらいは欲しいですな。テスト参加者。
0457デフォルトの名無しさんNGNG
>>画像とかmp3とか任意のファイルを張れるようにしたら人は集まるのだろうか…
>これは微妙かも。

ファイル交換ソフトは色々な問題を抱えるから嫌だなー。

>freenet+frostとかもあってダウソ板でスレもたってるけど、JAVAな環境の敷居が高いのか、
>まだ規模が小さいとか、freenetの仕様上の問題なのかで、いまいち盛り上がってない。

そうですねー。ノード参加者がプロキシーをインターネットに開放すれば、Vojtaは特別にソ
フトを用意しなくともブラウザのみで閲覧可能です。Vojtaがある程度完成した段階で、Win32
に移植してかちゅ〜しゃみたいのを作る。

まぁ、時間はいくらでもあるので、色々考えているうちが楽しい。
0458デフォルトの名無しさんNGNG
不具合を直した0912aをリリースしたのです。
もしよろしければ試してください。

http://vojtaproject.tripod.co.jp/

僕は外出しなければならないので、次のカキコは深夜になると思います。

それでは。
0459デフォルトの名無しさんNGNG
>>458
ほい。
試して接続しておきますです。
0460429NGNG
別の掲示板、ってところだけ接続できた。いくつかカキコしといたよ
0461名無し物書き@推敲中?NGNG
もっと初心者にもやさしいソフトじゃないと
この掲示板ほど沢山の人間の書き込みは期待できない、
ちょっとマニアックな存在になってしまうので
そこら辺、よろしくです。
0462デフォルトの名無しさんNGNG
ん? 接続できないですが…他に繋げている人居ますか?
vojtaproject.kicks-ass.orgにping送っても帰ってこないようですが…
0463デフォルトの名無しさんNGNG
ん。オレもダメボ
■ このスレッドは過去ログ倉庫に格納されています