トップページ⇒tech
126コメント37KB

2chメッセンジャー

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
を作ってみようと思います。
何かアイデアとかあればキボン
0002デフォルトの名無しさんNGNG
IPメッセンジャーみたいなやし?
00031 ◆FCIHX.z9Sc NGNG
いや、あーゆーのではなくサーバーを立てる予定です。。。
0004デフォルトの名無しさんNGNG
じゃ,MSNメッセンジャーみたいな?
# あれって鯖立ってるんすよね? てかよくわかってないや。。。
00051 ◆FCIHX.z9Sc NGNG
>>4
そーです
0006デフォルトの名無しさんNGNG
どうせなら、鯖に依存しないメッセンジャにしようや。
0007デフォルトの名無しさんNGNG
P2Pなメッセンジャーに萌えてみるテス�d
00081 ◆FCIHX.z9Sc NGNG
>>6-7
あーそれもいい
でもP2PにするとIPさらす必要があるんだな。。。
その辺はokですかねぇ・・・?
0009デフォルトの名無しさんNGNG
ny方式でリアルタイムチャットってできるの?
0010デフォルトの名無しさんNGNG
nyはP2Pじゃないだろうと
0011デフォルトの名無しさんNGNG
だからny方式だと言っているだろうと
0012デフォルトの名無しさんNGNG
>>9
確かnyスレで開発者が、nyプロトコルでは
みんながでかいファイルを共有/DLしている状態が一番効率がよく、
逆に小さいファイルがたくさん共有/DLされている状態は
オーバーヘッドがでかくなってしまうとか言ってた気がする。
nyプロトコルメッセンジャーは効率悪いと思われ
0013デフォルトの名無しさんNGNG
つーかIP晒すとなんか不都合でもあるんか?知り合いと会話するんだろ?
0014デフォルトの名無しさんNGNG
>>1
どうやって2chっぽさを出すんですか?
0015デフォルトの名無しさんNGNG
2chぽさを出すなら、IPはバレずに目的の人と
コンタクトとれるような、てな感じかな。

鯖経由にすれば実現可能だけどスケーラブルじゃないしな。
nyみたいに第三者を経由して、盗聴されないようにend2endで
暗号化して、てなことができればいいのだが。
ディレクトリが一番やっかいだなぁ。
0016デフォルトの名無しさんNGNG

00171 ◆FCIHX.z9Sc NGNG
>>15
RSAとか使えば第三者経由でできそうだな

IPばれるのってどの程度までいいんかねぇ
第三者とか関係ない人のIPもばれたらまずい気がする・・・

ってか、個人的にはIPばれても平気な気がするのだが・・・

その辺どう?
0018デフォルトの名無しさんNGNG
>>17
IPバレテも問題ネーヨ
0019デフォルトの名無しさんNGNG
で、そのメッセンジャーを使うメリットはあるのかい?
0020デフォルトの名無しさんNGNG
音声合成で読み上げる機能付けてくれ
00211 ◆FCIHX.z9Sc NGNG
>>19
がんばります。

>>20
MSのスピーチエンジンの使い方わかればやるかも

俺の今の構想としては

◆ユーザー情報からユーザーを(P2Pネットワークを使い)検索
ユーザー情報ってのは、2chメッセ用のIDとか、2chのコテハン・トリップとか。
あと、できればどこどこのスレにいる人とか、どのレス番の人とかいう風に検索できるようにもしたい。これは普及しないと意味が無いものだが・・・。
でもこれができるようになるといわゆる「IP抜き」ができるようになってしまうが、その辺は仕方が無い。(>>17-18)
あと、P2Pで実装するのが大変(というか良い方法が思いつかん)
さらに信頼性の面でもデジタル署名とかが必要になってくるかもしれない。
これはやはりサーバーが無いとできなさそうだな。。。

◆チャットやファイル転送などは(第三者を経由せず)直に接続する

(続く)
00221 ◆FCIHX.z9Sc NGNG

◆拡張性を持たせる
俺の構想としては下図のようにしたいとおもっている。
([***]は独立したアプリです)
[チャット] [ファイル転送] [その他]
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
   [ 2chメッセカーネル ]
        ↓
        ↓
     (インターネッツ)
        ↓
        ↓別のPCへ
        ↓
   [ 2chメッセカーネル ]
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
[チャット] [ファイル転送] [その他]

つまり、ソフトを増やせば簡単に拡張できると。
さらに、独立したアプリなので言語を問わずに拡張ソフトを作ることができると。

欠点は、アプリを同時にいくつか動かすことになるのでリソース食うことかな。。。
XPとかなら気にならないけど。

意見・アドバイスどんどんキボン
ちなみに開発環境はC++ Builderです。
0023名無しNGNG
鯖を使わないって、MSNメッセも常時鯖使ってる訳では
ないんでは?
接続時だけ鯖接続して、そこから登録メンバーのIP同士を
伝えあい、以後はP2P的に動いてるんではなかったでしたっけか。

アクション系のネットゲームもロビーで同じような処理してるんだよね。
0024名無しNGNG
連続ごめん。

意外に少ないのが多人数ボイスチャットとか・・・。
ちょっとメッセンジャーという意味ではずれますが。

1対1のボイスチャットだとしても、たとえばボイスチェンジャープラグイン
とかあるとおもしろいなあ。
0025デフォルトの名無しさんNGNG
>>23
その鯖はどうやって運営するのかね。鯖を無くすのが目的じゃないのか?
IPも抜かれちゃう、鯖も無くさないなら既存の各種メッセと何もかわらん…
00261 ◆FCIHX.z9Sc NGNG
通信方法はこんな感じにしようとしてる
まぁ簡単に言えば環状にノードをつなぐってことだ。

◆接続までのプロセス
各ノードは自分自身に乱数で適当な数(例えば0°〜360°)を設定する。
これを「ノードの位置」と呼ぶことにする。
そして、右回り('右'である事は重要ではない)に近い幾つかのノードに接続。
定期的に検索して、もっと近いノードが発見されたらつなぎなおす。
接続先が切れた場合は、再検索。

◆検索方法
左回り(接続方向とは逆)に検索要求パケットをまわしていく。
検索要求パケットには以下の情報を入れる
・発信元IP
・パケットID(32bitくらいの整数)
・検索内容(テキスト)

この検索要求を受け取ったノードは
if( 検索内容が自分に適合 )
{
  発信元IPに自分が適合者である事を通知;
  if( 検索内容が複数人に適合する可能性がある場合 )
    自分に接続しているノード(つまり左回り)へ検索要求を転送;

}
else
{
  if( 過去に回ってきたパケットでなかった場合 )
    自分に接続しているノード(つまり左回り)へ検索要求を転送;
}
というような事をする。
(続く)
00271 ◆FCIHX.z9Sc NGNG

◆通信
例えばAさんがBさんとチャットをする場合
�@Aさんがチャットソフトを起動
・ここでチャットソフトはAさんの2chメッセカーネル(以下2chmk)に接続する
�Aユーザーがチャットソフトに接続相手(=Bさん)を入力
�Bチャットソフトが2chmkに接続要求をする
�CAさんの2chmkがP2Pネットワークを利用してBさん(のIPアドレス)を探す
・ここの手順は「◆検索方法」の通り。
�DAさんの2chmkがBさんの2chmkに接続する
�EAさんの2chmkがBさんの2chmkへチャットソフトの接続要求を送る。
�FBさんの2chmkがチャットソフトを起動させる
・ここでチャットソフトはBさんの2chmkに接続する
�GBさんの2chmkがチャットソフトに接続要求を送る
�HBさんのチャットソフトが応答
�IBさんのチャット→2chmk→Network→2chmk→Aさんのチャット
の順番で応答する

これで、2chmk経由で通信ができるようになる。
そのまま通信することもできるし、チャットソフト同士で直接接続しなおして通信もできる。
直接接続のがいろいろ有利だが、2chmk経由で通信した場合はチャットソフトが相手の情報を取得できるとか、有利な面もある。


以上。
まだセキュリティ面は考慮していません。。。
002823NGNG
>>25

確かに普通のと変わらんよねw
いま売ってるCマガジンの10月号でJXTAってライブラリについて
詳しく書いてあるけど、これイイかも知れないよ。

関連リンク

本家
http://www.jxta.org/

翻訳マニュアル
http://www.wakhok.ac.jp/~maruyama/jxta/html/

ニュース記事
http://www.zdnet.co.jp/news/0303/05/nebt_16.html


00291 ◆FCIHX.z9Sc NGNG
>>28
いまいちよー分からん。
それってインターネット(WAN)で使えるのか?
それでサーバーなしで、動的IPのユーザーも検索できるんだったら有用だけど・・・

でもこれが本当だったらもうとっくに普及しているような気がするなぁ・・・

0030デフォルトの名無しさんNGNG
>>1
おー いまいち何をしたいのか分からんが頑張れ
出来上がったら遣わしてもらうよ
0031デフォルトの名無しさんNGNG
活性化希望あげ
003223NGNG
JXTA関連スレ発見

【次世代】 Jxtaお勉強スレッド 【P2P】
http://pc2.2ch.net/test/read.cgi/tech/1043580946/


ちなみにJAVA限定なのかな。だと残念だねぇ。
0033デフォルトの名無しさんNGNG
IPSecもVPNも知らん奴らがネットワークで暗号化?愉快。
0034デフォルトの名無しさんNGNG
知らないなら勉強したら良い。最初から知ってる奴はいない。
003523NGNG
>>33
私も知らないことだらけです。やっことないことばかりです。
でも関連するリンクとか思いつく範囲での協力、できることで協力、
できないことで協力するにはもちろん勉強もします。


私はこのスレすごい期待してます。
33さんも知ってることあったら教えていただけたらうれしい、なんて思います。

マジレスご免。
0036デフォルトの名無しさんNGNG
>>32
一応、こちらにも貼っておきましょうか。
そもそもJXTAはプロトコルなので、
言語や、あるいはTCP/IPといったより下位のプロトコルには依存しないのですよ。

現在のところJavaによる実装が一番進んでいますが、
他言語での実装の開発状況は、以下のページ等をご参照に。

C, C++
http://jxta-c.jxta.org/
Perl
http://jxtaperl.jxta.org/
Python
http://jxtapy.jxta.org/
Ruby
http://jxtaruby.jxta.org/
Smalltalk
http://smalltalkjxta.jxta.org/
0037デフォルトの名無しさんNGNG
ただ、現在のところ、JXTAプロトコルを用いて何かのアプリを作ろうとおもえば、
各言語での実装の開発状況を考えると、
Javaを用いて作るのが、一番現実的だとはおもいます。
ですからJava限定というのも、今のところ、あながち間違っていないかもしれません。

Javaによる実装なら、ファイル交換や、IMなどの機能を備えたアプリもすでにリリースされていますし。
0038デフォルトの名無しさんNGNG
2chメッセンジャー
http://pc2.2ch.net/test/read.cgi/mysv/1065440267


その前にマルチクソスレに対する釈明が欲しいんだが。
00391 ◆FCIHX.z9Sc NGNG
>>38
すいません、最初に書いとけばよかったですね。。。


JXTAってHybridP2PじゃなくてPureP2Pでもできるんですかねぇ。。。
なんかRendezvousピア(サーバーのようなもの)というのが必要らしいですが。。。
0040デフォルトの名無しさんNGNG
>>39
反省の色無しですね。
あなたのせいで有用なスレが消えていったり新規の有用なスレが立てられなかったりするんですよ?
0041 ◆16qJXTA7C2 NGNG
>>39
恐らく、なにか勘違いしているとおもうので補足させてもらうよ。
「ランデブーピア」というのは、あなたの考えているような特別なピアではないんだ。
ごく普通のアプリケーションも、「ランデブーピア」に成り得るし、
そして、それはとても普通のことなんだ。

もちろんディスカバリーリクエストを転送するというサービスを
他のピアたちに提供するという意味では、
これをあなたの言うように「サーバ」と表現してもいいかもしれない。

しかし、おそらくあなたが>>39で書いた「サーバ」というのは、
ネットワーク上において、あるていど固定化されたアドレスを与えられた、
ごく小数の特別のピアのことを想定しているとおもう。違うかな?

しかしJXTAにおけるランデブーピアというのは、不特定多数だし、
固定化されているわけでもない。
(もちろん、ほぼ固定化されたアドレスを持つランデブーピアもあるんだけどね。)

P2Pネットワークに参加しようというあるピアが、
ランデブーピアとして、ネットワークに突然、参加してもいいし、
そういったピアが、突然、ネットワークから消滅してもいい。

そのようなことをしても、ネットワークはなんのダメージも受けない。
新たに参加・消滅したランデブーピアにあわせて、動的に経路を組み替えていくだけだ。
これはまさに純粋なP2P以外のなにものでもないんだよ。
0042デフォルトの名無しさんNGNG
1がスレ建てしたって直ぐには落ちないし、1がスレ建てしたって新規の有用なスレが立てられなかったりする事は無いし。
0043デフォルトの名無しさんNGNG
>>42
口調が変わりましたね。それがあなたの正体ですか?
00442chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆GIKO7Ha7QI NGNG
いや、1じゃないし。。
異様に粘着してるアナタも見てる人から言わせればおかしいですよ、っと。
0045デフォルトの名無しさんNGNG
>>44
そのトリップ自分で探したんですか?2chが大好きなんですね。
00461 ◆FCIHX.z9Sc NGNG
>>41
レスありがとうございます。

うーん、なんとなく分かった気がしなくもありませんが。。。
JXTAで通信(ピアを検索)する場合ってのは必ずランデブが必要なんですよねぇ
つまり、ピアは必ずランデブにつなぐ必要があるってことですよねぇ
では最初にランデブにつなぐときはどーするんですか?
あと、ランデブがすべて消滅した場合はどーするんですか?

ごめんなさい、質問しまくって。。。

>>42-45
ごめんなさい、僕の不注意で。。。

0047デフォルトの名無しさんNGNG
>>46
たしか基本的には、ランデブーピアはWeb上などで公開しておいたり、
あるいは、ある程度、常時起動しているいくつかのランデブーピアのリストを
ソフトに、あらかじめ持たせておいたりだったとおもう。

 もし、リストに書かれている全てのピアが、ダウンしていたら、
 自分自身がランデブーピアとなって起動して、ほかの利用者に、
 自分のIPアドレスを公開して、自分と接続してもらうとか。
 ほかにメールだとか、Webだとかで、起動しているのランデブーピアを教えてもらうとか?

で、そうやってランデブーピアに接続できたら、その接続先のランデブーピアは、
また別のランデブーピアと繋がっているはずだから、その別のランデブーピアを紹介してもらって、
つねに単純ピアは、複数のランデブーピアと接続しておくと。
一つ二つのランデブーピアが、突然ネットワークから消滅しても、
そうそういっぺんに、自分の知っている全てのランデブーピアはダウンしないだろうという感じ?

LANとかなら、マルチキャストとかの仕組みを使って、
ランデブーピアや、ほかのピアを見つけたりとかもできたような気がする。
0048デフォルトの名無しさんNGNG
今主流のP2Pってのはほとんどが、
すべてのノードにランデブーピアと同等の仕事をあずけていると見れば
分かりやすいんじゃないかな。
0049デフォルトの名無しさんNGNG
Jxtaは、もともと携帯電話だろうと、PDAだろうと、お風呂の湯沸かしセンサーだろうと、
どんな貧弱な機器でもP2Pでネットワーク化しようという目標があるから、
こういう実装になっているんでしょうかね。

// って、なんかスレ違いですね。すみません。
0050デフォルトの名無しさんNGNG
2003/10/12 21:10:26
0051デフォルトの名無しさんNGNG
2003/10/12 21:11:271
0052デフォルトの名無しさんNGNG
2003/10/12 21:12:341
0053デフォルトの名無しさんNGNG
2003/10/12 21:13:35
0054デフォルトの名無しさんNGNG
2003/10/12 21:14:361
0055デフォルトの名無しさんNGNG
2003/10/12 21:15:37
0056デフォルトの名無しさんNGNG
2003/10/12 21:16:38
0057デフォルトの名無しさんNGNG
2003/10/12 21:17:40
0058デフォルトの名無しさんNGNG
2003/10/12 21:18:41
0059デフォルトの名無しさんNGNG
2003/10/12 21:19:42
1
0060デフォルトの名無しさんNGNG
2003/10/12 21:20:43
0061デフォルトの名無しさんNGNG
ふつうのISPからマルチキャストなんて使えねーだろ
0062デフォルトの名無しさんNGNG
>>61
実践を全く知らん奴の言うことだ、

回線速度もマシンスペックもその料金もユーザの頭の程度も、すべて彼の中には無いんだよ。
0063デフォルトの名無しさんNGNG
>>61-62
あなた方はLANという言葉を知っていますか?
006423NGNG
まあまあけんか腰やめよう。

知らないことを教えてくれるならば、教えて頂きたいし
教えるのメンドクサイなら、放置してもらっていいし、

建設的にいきましょうよ。
0065あぼーんNGNG
あぼーん
0066デフォルトの名無しさんNGNG
「鉄腕ダッシュの実験」ってかかれてたときは結構説得力あるなぁって思ったけど、
トリビアだと全然説得力ねぇな。

006723NGNG
ちょっと提案。
Regnessem のプロトコルプラグインとして実装するって選択も
ないかね。

■オープンソース■ Regnessem part8
http://pc2.2ch.net/test/read.cgi/software/1064295588/

ユーザインターフェイスはRegnessemてことで。


どうでしょう。
0068デフォルトの名無しさんNGNG
>>44
(=゚ω゚)ノぃょぅ

>>67
それ(・∀・)イイ!!かも。
00691 ◆FCIHX.z9Sc NGNG
>>23
なるほど、その手もありましたか
Regnessemの仕様書とにらめっこして、できればそうしたいです。


プロトコルは今のところ考え中です。。。
まだ理解していないせいもあると思いますが、
JXTAはどうもメッセンジャーには不適な気がします。
うまく説明はできませんが、セキュリティの面や効率を考えるとやはり何かしらのサーバーは必要そうですね。。。

CGIの動かせるレンタルWebサーバーつかってIDだけ管理するって言う手を使えば
そーすればWinnyみたいにキー流して検索できるようにもできるのですが

# 負荷の部分でちょっと問題が出そうだな。。。P2Pは仕方ないか?でも常駐だしな。。。

0070デフォルトの名無しさんNGNG
ほんとに思いつきでしか考えてないな…
スケーラビリティとか、言葉さえも知らない?
0071デフォルトの名無しさんNGNG
もしサーバーたてたらtelnetで遊びにいっくからよろしくね☆
0072デフォルトの名無しさんNGNG

























0073デフォルトの名無しさんNGNG
>>70
意味も知らずに思いつきだけで言葉を発するのはやめたほうがいいよ
007423NGNG
だんだん盛り下がってきている気がして残念です。

1さんがんばりましょう。
007523NGNG
終了・・・・・・・・・ かな。

一応私は抜けますね。どもでした。
0076デフォルトの名無しさんNGNG
早っ
0077デフォルトの名無しさんNGNG
ここでageですよ。
0078デフォルトの名無しさんNGNG





















0079相互リンクNGNG
理想のFTPソフト作ろうプロジェクト
http://pc2.2ch.net/test/read.cgi/software/1031331041/l50
0080デフォルトの名無しさんNGNG
レグネスレ住人ですが、1さんがんばってね。
0081デフォルトの名無しさんNGNG
>>1さん期待してます。
出来れば、知らない人と知り合える専門のソフトも作って欲しかったりするんだが…
0082デフォルトの名無しさんNGNG
保守
0083デフォルトの名無しさんNGNG
とりあえず
0084デフォルトの名無しさんNGNG
いっそのことメッセンジャーっぽくなくせば。
ただのチャットソフトに
0085デフォルトの名無しさんNGNG
ボトルメールだっけ?
確か相手を指定せずにメールを送るソフトあったよね?

>81を読んでそれのメッセンジャー版があったら面白いかもと思った
0086デフォルトの名無しさんNGNG
>>85
今の時代、そんなもんただのspamだ。
0087デフォルトの名無しさんNGNG
>86
う…確かに事前の了解なく送られてくるメールなんて迷惑だね

不特定の相手からメッセージを受け取る みたいな機能をON/OFFできれば…とか無意味に食い下がってみる
ま,言ってみただけということで

それにしても>1さんは元気なのかな?
きっともうこのスレは見ていないんだろうなぁ
0088デフォルトの名無しさんNGNG
ほしゅ
0089デフォルトの名無しさんNGNG
イイね、知らない人とチャットってかなり楽しいと思うよ。
いつでも知らない人を呼べて、今話してる人と融合して話せたりすると楽しいかもしれないよ。

自分が固定ではないから相手には自分が解らないし探せない、ランダムで時々会うかもしれないと。

1:匿名高く
2:ランダムで相手につながる
3:2でつながられたら拒否することもできる(機能の一つとして相手からはつながらないようにする
4:つながったら1to1で会話する
(5:1to1をつなげて3pで話せる機能で多人数チャット)
0090デフォルトの名無しさんNGNG
>>89
実装しないなら去れ。

悲しいかな、成果物だけが評価されるのよ。2chって。
0091デフォルトの名無しさんNGNG
>>90
あいよ。

2chだけじゃなくて、全てにおいてだけどね
0092デフォルトの名無しさんNGNG
複数人でやるP2Pチャットの大規模化目指してみっかなー
使い勝手はエキサイトチャット風で
0093デフォルトの名無しさんNGNG
>>92
ダサいUIとかウザイのでUIとエンジンを切り離して下さい。
それでみんな幸せになれます。
009492NGNG
>>93
(´・ω・`)
0095デフォルトの名無しさんNGNG
1 はドコ行った?
0096デフォルトの名無しさんNGNG
>>95
疲労のあまり入院。









嘘です。
0097デフォルトの名無しさんNGNG
かっこいいUIってどんなんだろ
やっぱスキン?
0098デフォルトの名無しさんNGNG
俺にはかなわない世界だわ。
0099デフォルトの名無しさんNGNG
もし作るとして、利用者の想定人数はどのくらいを想定すればいいですかねぇ。
0100デフォルトの名無しさんNGNG
>>99
勝手にすれば?開発人数はお前一人。お前がこの世界の神だ。
0101デフォルトの名無しさんNGNG
もうここには誰も居ない?
■ このスレッドは過去ログ倉庫に格納されています