P2Pでサーバに依存しない掲示板を作るの巻
■ このスレッドは過去ログ倉庫に格納されています
00011
01/08/27 21:33ID:Uofeyeso依存しない掲示板を作るの巻。
クライアントサーバ型BBS、ハイブリッドP2P型BBSでは、サーバを必要とするために
運営に費用がかかります。掲示板では利益を生み出すことができない以上、これら
のサービスは持続可能なものではありません。
2ちゃんねるライクな掲示板を持続可能なものにするためには、コストがかからず、
誰にも依存しない、純粋なP2P型ネットワークを開発する必要があるように思われます。
0402電波5号
NGNGP2Pでヤフーオークションみたいなの
あったら
いいと思うんですが
出品者がサーバーになって
0403デフォルトの名無しさん
NGNG俺も考えたが、相手特定しづらいので犯罪が横行しそうだと思って止めた。
金が絡むと P2P は問題山積み。
0404新入り
NGNGCRCはあると安心かもと思うけど、実際問題、TCPの上に載せててエラーになるのって・・
と思ったけど、昔某国産のルータ使っててヅレた事あったな。
>>398
ヅレた時の復帰に関しては確かに悩む。
昨日もOpenNapなクローンを作ってたらバグってズレて泣いてたし。
でもデータ中に、制御コードと同一のものが入ってる場合はエスケープしないといけないよね。
実装を考えると、本文というかボディというかデータ部受信中に、
制御コードを見つけるコードを入れるのがちょっとな。
>>399
xmlか・・・
キライではないし、実務で使ってるから違和感はないんだけど、
最初タグの名称をフルスペルで実装したら、データ中のタグの割合が高すぎて、
ショートネームというか略称を使えるようにしてダイエットしたという悲しい記憶が・・・
soapとか試していると、実データに対して送信データのでかさに、泣けるときがあるし。
---------
いろいろ書いたけど、やっぱ悩みは深いかも。
というか決めればいいだけなのかもしれないが。
0405デフォルトの名無しさん
NGNGこういうので技術的に大風呂敷広げて成功したのって聞いたことないから、あまり
XML とか SOAP とかにこだわらないほうが吉かもね。でも CRC か MD5、エラー
ブロックだけの再回収はデータ取得の安定に直結するのであった方が良いような。
0406知ったか
NGNG0407236
NGNGフィールドに当たるものを要素じゃなくて属性として書けば
大して違わないような気がしたのよ。だめかなぁ。
0408新入り
NGNGSoapは.netで使うと、ナルホド便利だねって感じる。
でもそれは、プログラマっていうかCoderの観点から便利って事。
パフォーマンスとか、アプリケーションユーザにとって幸せかどうかは別問題。
XMLも、たとえば通信で使用するデータの構造を組み立てていくのには便利だし
拡張性があるから、あとからコレもとか思ったときも安心。
でもコレも作る側の幸せ。
使う方(アプリユーザー)にしてみたら、どうでも良いこととか思っちゃったりしてる。
0409デフォルトの名無しさん
NGNGXML の使用はココ一番というところだけに抑えておいたほうがいいよ。設計の中心に XML を持ってくると
実装量とパフォーマンス劣化が指数関数的に増加してゆくから。グローバルスタンダードなプロトコル作る
気でなければ XML は高価すぎるよ。無理しないで TCP のストリームベース部分なら UTF-8 あたりの
telnet ベース、UDP/ブロードキャストのパケットベースなら固定長バイナリが良いと思われ。
今時はファイアウォールやプロキシ、NAT ルータを意識した作りが必須かも。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG予め知り得る情報も多いから、両端が共通の辞書を持てば、殆ど無視
できるレベルだと思う。
0412デフォルトの名無しさん
NGNGいくらパーサが流通してても XML は実装がでかくなる。
でも圧縮はいいね。CRC はそれに任せられるから。
0413新入り
NGNG圧縮するにしても、最初から余分なタグが付いてない方が楽でしょう。
そのXMLのフォーマットに最適化した圧縮をするならば別だけど。
でもDOMパーサーは容量が増えるとダメだね。
SAX使ってネイティブなデータ構造に収納しないと。
>>412
DOMパーサーを使ってそこにデータを保持してよいなら、
実装はコンパクトにできるよ。メモリ喰うけど。
MSXMLなんかはクエリー検索できるから便利だよ。
(selectSingleNodeとかね。)
0414デフォルトの名無しさん
NGNGhttp://vojtaproject.tripod.co.jp/
さらに、vojtaproject.kicks-ass.orgの80番ポートでいつでもアクセスできるようになったのです。
24時間お試しくださいです。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGういっす。
試してみたけど、つながらないです。
なんかvojtaproject.kicks-ass.org:80に接続するけど反応がないみたい
0417デフォルトの名無しさん
NGNG掲示板を開いて、ConnectorsのShowをクリックして、FeedHostにvojtaproject.kicks-ass.orgですよね?
0418デフォルトの名無しさん
NGNG恐れ入りますが、アプリケーションを再起動してもう一度試してみていただけますか?
0419デフォルトの名無しさん
NGNG0420417
NGNG理由は、あっちに書きましたが、
こちらのポートを変更しようと企んだが、失敗。
80に戻したらIISがいたという落ちです。
掲示板2にだけつながりました。
0421417
NGNGその後メッセージはオレのIP:80 って出てるし。
で、なぜかしらないけど、接続できなくなった。
Feedしようとしてボタン押しても、コンソールになんの反応もない・・・
0422417
NGNG板単位で、どこかの板がfeed中に他の板(同じ板を含む)もFeedしようとすると、「ページがみつかりません」になるね。
0423417
NGNGつながらない、というか自分の80番が開かないみたい。
だから、接続にいってもこちらの口が開いてないから、ダメボ・・・
netstatでみる限りは死体は転がってないんだけど・・
0424デフォルトの名無しさん
NGNG>その後メッセージはオレのIP:80 って出てるし。
変更に失敗しているといったことは考えられませんでしょうか。テストしてみましたが、
変更は効いているみたいです。
一度Vojtaを終了し、2分くらい立ってからもう一度接続してみてください。なんかすみません。
0425417
NGNGPCを再起動してみましたが、ダメボ・・・・
メッセージはこんな感じですだ。
----------
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
0426417
NGNGまた明日よろしくおねがいたもう。
0427デフォルトの名無しさん
NGNG他にもテストしてくれる人がいたらつなげてみてくださいです。
0428417
NGNG結構期待しているage!!
0429デフォルトの名無しさん
NGNGD:\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これって期待通りの動作でしょうか?
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初回起動時はデータベースが初期化されていないため、そのような例外が発生します。
データベースを初期化してください。
0433デフォルトの名無しさん
NGNGどのように表示されていますか?
0434417
NGNG0435429
NGNGあ、なんかこれが出るのは
・最初に起動した時
・最初に初期化する時
みたいですね。STATUSはOKになってますし、再度初期化してみるともう例外は出ません。
お騒がせしました。
これからちょっと試してみますね。せっかく1.4.0rc入れたんで(w
0436デフォルトの名無しさん
NGNGわかりにくくて申し訳ないです。vojtaのフォルダのインストールする位置によっては、
データベースを初期化できないという不具合があるらしく、例外を出すようにしている
のです。
0437デフォルトの名無しさん
NGNGLinuxでJavaVMを動かす。デーモン起動すると、文字コードが化けてしまう。
一般ユーザやルートで動かすと大丈夫なのに。
ほらほら!なんでだろう。多分言語設定が違うのだろう。どうやって変更するのだろう?
http://vojtaproject.kicks-ass.org:8081
0438デフォルトの名無しさん
NGNG0439236
NGNGWinXPですが、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デフォルトの名無しさん
NGNG0443お試し中
NGNG明示したInputStreamReaderを渡さないとダメかもね
0444236
NGNG8081ポートは常に開いているんだけど、VojtaServantPreference.xml
で指定した8080ポートが開いてない。80はIIS用なので使えないし。
起動時にエラーメッセージは出ませんです。
あとついでに思い出したんだけど、
「GUIDともに強制表示されます。[Detail]」
のDetailをクリックしたときのMS932というエンコーディングのせいで
IE6.0では見れないです。暇なときに直していただけると。
0445429
NGNGコネクタのリストには追加されません...
Host(vojtaproject.kicks-ass.org:80) was feeded to servant.
・環境は Win2k/J2RE1.4.0rc/IE5.5
・サーバントが使うポートは8080に変更
・外向けに空けているのは8080のみ(8081は閉じています)
0446429
NGNG確かに80番固定になっているみたいだ..
0447417
NGNG0448429
NGNG修正キボンヌ>作者様
0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGたしかにFWとかを通り抜けられるが、開発段階では意味が無いように思う。
0451デフォルトの名無しさん
NGNG80番ポートの変更が効かないという点について試してみました。
81番ポートに変更し接続を行ってみたところ、んー。昨日と同じように普通に変更され、何も問題なく
接続できるようです。何を見落としているのだろう…
0452デフォルトの名無しさん
NGNG8082 とか4桁にしても関係ないよね?
こちらでも81番で試してみます。
0453デフォルトの名無しさん
NGNGテスト中他の接続に関するバグを見つけたので、もしかすると、それが原因なのではないかとも思います。
とりあえずそれを直してみます。
(1)起動時にStartingVojtaServer...のところに表示されるポート番号
(2)ブラウザの画面左側のStatusをクリックして表示されるリモートホストの箇所のポート番号
を確認してください。つまらなくてごめんなさいです。ご協力本当に心から感謝です。
画像とかmp3とか任意のファイルを張れるようにしたら人は集まるのだろうか…
0454429
NGNGvojta.VojtaApplication#loadVojtaServantPreference の中で
VojtaServantPreference のインスタンスを作る際に例外が発生して
結局 loadDefaultVojtaServantPreference で作られたデフォルトの設定が
使われてしまっています。
なんで例外が発生しているかというと、
vojta.servant.VojtaServantPreference#init の中で、
workAsServer_ = URelaxer.getElementPropertyAsBoolean(rstack.popElement());
という(実在しない)エレメントの取得を行っているためにスタックが一つずれて
最後にnullエレメントを取得してしまうからです。
スマソ、decompileしてソース読んでしまったよ
0455デフォルトの名無しさん
NGNGビンゴだそれ。直します直します。
parserが古いのか。原因がやっとわかりました。ありがとうです。
ソースコード公開はもうちょっと待ってくれ。
0456デフォルトの名無しさん
NGNG>画像とかmp3とか任意のファイルを張れるようにしたら人は集まるのだろうか…
これは微妙かも。
freenet+frostとかもあってダウソ板でスレもたってるけど、JAVAな環境の敷居が高いのか、
まだ規模が小さいとか、freenetの仕様上の問題なのかで、いまいち盛り上がってない。
だからファイル共有があれば、人が集まるとは一概には言えないかと。
でもあと10人ぐらいは欲しいですな。テスト参加者。
0457デフォルトの名無しさん
NGNG>これは微妙かも。
ファイル交換ソフトは色々な問題を抱えるから嫌だなー。
>freenet+frostとかもあってダウソ板でスレもたってるけど、JAVAな環境の敷居が高いのか、
>まだ規模が小さいとか、freenetの仕様上の問題なのかで、いまいち盛り上がってない。
そうですねー。ノード参加者がプロキシーをインターネットに開放すれば、Vojtaは特別にソ
フトを用意しなくともブラウザのみで閲覧可能です。Vojtaがある程度完成した段階で、Win32
に移植してかちゅ〜しゃみたいのを作る。
まぁ、時間はいくらでもあるので、色々考えているうちが楽しい。
0458デフォルトの名無しさん
NGNGもしよろしければ試してください。
http://vojtaproject.tripod.co.jp/
僕は外出しなければならないので、次のカキコは深夜になると思います。
それでは。
0459デフォルトの名無しさん
NGNGほい。
試して接続しておきますです。
0460429
NGNG0461名無し物書き@推敲中?
NGNGこの掲示板ほど沢山の人間の書き込みは期待できない、
ちょっとマニアックな存在になってしまうので
そこら辺、よろしくです。
0462デフォルトの名無しさん
NGNGvojtaproject.kicks-ass.orgにping送っても帰ってこないようですが…
0463デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNG0466こんなんでたです
NGNGjava.io.InterruptedIOException: Read timed out
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.InputStreamReader.fill(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at vojta.net.VojtaSocket$ReaderThread.run(VojtaSocket.java:243)
java.lang.NullPointerException
at vojta.net.VojtaSocket.<init>(VojtaSocket.java:57)
at vojta.servant.Connector.createNewVojtaSocket(Connector.java:101)
at vojta.servant.Connector.sendPacket(Connector.java:138)
at vojta.servant.VojtaClient.processOutgoingPacketType(VojtaClient.java:
1430)
at vojta.servant.VojtaClient.processOutgoingPacket(VojtaClient.java:1413
)
at vojta.servant.VojtaClient.processPacketInQueue(VojtaClient.java:315)
at vojta.servant.VojtaClient.run(VojtaClient.java:1531)
DROPPED:failed to send packet to:vojtaproject.kicks-ass.org:80
terminateConnector:vojtaproject.kicks-ass.org:80
unsubscribe
0467デフォルトの名無しさん
NGNGログをみると、途中まで動いていたようですが、どこかでプログラムが停止してしまったようです。
原因はこれから探します。とりあえず再起動かけときました。
>もっと初心者にもやさしいソフトじゃないと
アドバイス感謝です。
0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG繋いでみたです。
0470デフォルトの名無しさん
NGNGjava.lang.NullPointerException
0471デフォルトの名無しさん
NGNG環境をかいてくんなまし。
>>470
出た場所も書いてくれると、あとでデバッグの際に役に立ちます。感謝です。
0472デフォルトの名無しさん
NGNGていうかちゃんと PreparedStatement とパラメータマーカ使ってくれ
0473470
NGNGこんなんでいいのでしょうか?
feed entrance:anothergroup_anotherbbs
java.lang.NullPointerException
at vojta.servant.MessageDBHsqldb.updateThread(MessageDBHsqldb.java:245)
at vojta.servant.MessageDBHsqldb.storeMessage(MessageDBHsqldb.java:92)
at vojta.servant.VojtaClient.processIncomingPacket(VojtaClient.java:330)
at vojta.servant.VojtaClient.processPacketInQueue(VojtaClient.java:308)
at vojta.servant.VojtaClient.run(VojtaClient.java:1531)
ちなみに「はじめりです」スレを立てたのは私です。
0474470
NGNGDROPPED:failed to get packet3
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNGやっぱり実際にネットに公開すると、いろいろと不具合が見つかってよいですね。
もう少し作りこんでから公開したほうが迷惑をかけずに済むのか、ちょっと考え中です。
ご協力本当に心から感謝です。VMは最新版に変えときます。
0478470
NGNGがんがってくださいね>開発者さん
期待していますんで。
0479デフォルトの名無しさん
NGNG迷惑だと感じたら、やらないので気にしなくて良いです。
みんな動かない時でもそれなりに、原因を考察したりして楽しんでるみたいだし・・(w
0480デフォルトの名無しさん
NGNGよくわからんけど、今のままでも難しいと思うわけ?
んー、ファイル交換はねー。
DL板を敵に回すようなことは必要ないけれど、
少なくとも彼らに気に入られるソフトにはなってほしくないな(藁
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGみんな興味本位と期待で試してるんだし、公開は続けて欲しいと思うよ。
実際プロトが動くといろいろ分かるしね。
全然関係ないけど、個人的にはP2Pコアの部分とその上のアプリ部分は
できるだけ依存関係を薄くして欲しいなりYO
0484デフォルトの名無しさん
NGNGんが、vojtaproject.kicks-ass.orgにPING通らないですネ。
今はサービスしてないんですよね?
動くようになったらまた試してみたいと思います。
でわでわ。
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGサーバはずっとうごかしてるんすけど、しばらくすると止まっちゃうんですよね。
何が悪いのか調べてない(vojta? linuxの設定?dyndns.org? adsl?)
0488デフォルトの名無しさん
NGNGそーですか、まぁまた時々試してみるです。
しゅうせいがんがってね。
0489デフォルトの名無しさん
NGNGhttp://vojtaproject.tripod.co.jp/
文字化けとか、例外出して止まってしまうところを直しました。
後は止まらないように祈るだけなのです。
デーモン起動にすると、言語として日本語を設定できないJavaVMは、どうやら仕様のようなので
あきらめたのです。
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGちんぷんかんぷん
0492デフォルトの名無しさん
NGNG起動の仕方間違ってるのでは?
JAVAは大文字小文字を区別するぜよ。
0493デフォルトの名無しさん
NGNG0494デフォルトの名無しさん
NGNGあと些細なことだけど
Exit Voita
Thank you for using Voja
になってるよ。
0495デフォルトの名無しさん
NGNG切り替わらないよ。返すhttpヘッダがおかしいのかも?
おかげで2重カキコになってしまった..
0496デフォルトの名無しさん
NGNGJVM起動OPTに -Dfile.encoding=MS932 で直らないかな?
これ無視するJVMもあるみたいだけど
0497市民A
NGNGおもしろそうな企画なんで参加させていただきたいと思いますが、
なにせプログラムは挫折した経験しか持ち合わせてないもんで・・・
何か、お手伝いできることはないでしょうか?
といってる矢先にInitialize databaseするとstatusがERROR。
よくわからない人は手を出さない方がいいのですかね?
0498デフォルトの名無しさん
NGNGあれ…vojta繋いでみたけどAAなんて貼って無い…ちゃんと繋げてないのかな?
0499デフォルトの名無しさん
NGNGログっていうか、コンソールに表示されたものをコピペして貼っておけば、
だれか見てくれるかもしれないよ。
なんとなく、入れたフォルダが悪いような気がする。
C:\voja\
ぐらいのシンプルなディレクトリ(名称に空白・漢字なし)で試してみたらどうでしょうか?
0500デフォルトの名無しさん
NGNG>>499サンが言うように、デスクトップにおいて実行したときに
初期化に失敗してましたがH:\に移動したら問題なく初期化
出来ましたですよ。ただうまくつながらなかったですが。。(ウトゥ
...500ゲト
0501デフォルトの名無しさん
NGNGconfフォルダの中にあるVojtaServantPreference.xml。この中のServerPortの値を
適当に変えてみてください。何か例外が表示される場合は、ここにそのままコピペ
すると、今後の不具合修正の参考にさせていただきます。
0502デフォルトの名無しさん
NGNGつながっているかどうかは、画面上の方のConnectors(数値)のところをご覧下さい。
数値が接続しているノードの数です。Showでその詳細が表示されます。
何かカキコできれば、つながってることになります。
■ このスレッドは過去ログ倉庫に格納されています