2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【標準化】JavaScript で P2P【実装】

1 :ECMAScriptist ◆g7uCLSjF0w :2006/01/02(月) 16:18:00
JavaScript を使って、サイト閲覧者間の安全な P2P セッションを
張るにはどんな標準化が必要でしょうか?

皆様で議論しませう。

2 :デフォルトの名無しさん:2006/01/02(月) 16:25:55
TCP/IP直接たたかないと駄目?

3 :ECMAScriptist ◆g7uCLSjF0w :2006/01/02(月) 16:30:36
>>2
TCP/IP はもちろん下のレイヤでたたかれると思います。
それを JavaScript のオブジェクトでどのように扱うかが論点です。

4 :ECMAScriptist ◆g7uCLSjF0w :2006/01/02(月) 17:19:49
まず、自分の考えを示さないとだめですね。

■ サーバサイド
・Web サーバだけでは、セッションを張ることが出来ない。
SIP などのセッションを張るためのサーバが必要。

■ クライアントサイド
・XMLHTTPRequest ライクな SIP クライアントオブジェクトが必要。
・ローカルのマルチメディアデバイスの情報を取得できる仕組みが必要。
DOM2Event の拡張が必要。バイナリストリームを扱うオブジェクトが必要。

5 :デフォルトの名無しさん:2006/01/03(火) 02:10:57


        ま    た    A    j    a    x    か



6 :デフォルトの名無しさん:2006/01/03(火) 02:40:38
Ajaxいいたいだけちゃうんかと↑

7 :デフォルトの名無しさん:2006/01/03(火) 02:44:57
馬鹿な考えではないと思う。
ブラウザの使い勝手の良さを、サーバー機能を持たない
対象にも適用したくなるというのはわかる。

でも、P2Pならポート番号は固定のはずはなくて、
80番以外のポートを叩くのは、ブラウザの仕事の域を
超えているような…。

やるんであれば、メディアプレーヤーのような
大きな埋め込みオブジェクトを作ることになりそう。


8 :デフォルトの名無しさん:2006/01/03(火) 03:01:00
ブラウザ上で動くP2PのプロジェクトがSourceForgeにあったような気がするな

9 :デフォルトの名無しさん:2006/01/03(火) 04:00:43
やべ、なんか>>6に筒抜けてた

10 :デフォルトの名無しさん:2006/01/03(火) 09:14:39
Sony社員乙

11 :ECMAScriptist ◆g7uCLSjF0w :2006/01/03(火) 23:59:45
>>5
XMLHTTPRequest は昔からある機能ですが、Ajax という言葉と
Google の推進力が Web ブラウザの新たな可能性を教えてくれたと思います。
次は Ajam (Asynchronous JavaScript and Multimedia) とかどうでしょう。

>>7
共感していただいてありがとうございます。僕は真剣です。
願わくば、2ch の皆さんで議論して、2ch 主体で
これを標準化できるレベルまで持っていきたいと考えています。

> 大きな埋め込みオブジェクトを作る

これについては、もうすでに実現されています。
Flash と Macromedia 製のサーバで P2P を行うことが出来ます。

しかし、それはブラウザの機能ではないし、標準化されたものじゃない。
そこが問題だと思うのです。
たしかに、HTTP(80)、HTTPS(443)、FTP(21) 以外のポート。
しかも、任意のポートをたたけるというのはブラウザの仕事の域を
超えているかもしれません。
それならば、それをブラウザと呼ばなければいいだけのことだと思います。
ブラウザはもうすでに、ブラウジングの域は超えているのですからw

>>8
ほんとですか!すばらしい情報ありがとうございます!
さっそく検索してみます!

12 :デフォルトの名無しさん:2006/01/04(水) 08:20:19
FirefoxでBitTorrentを実装しようみたいなニュースか何かを
見かけた気がするんだけどそういうの?

13 :ECMAScriptist ◆g7uCLSjF0w :2006/01/04(水) 09:21:03
>>12
ブラウザだけの機能としてではなく、Web コンテンツと融合させるのが趣旨です。

しかし、Firefox はブラウザ自体が、JavaScript で出来てるので
どのように P2P を扱うのか調べてみる価値はありそうですね。

14 :デフォルトの名無しさん:2006/01/04(水) 12:55:49
近藤と同じ臭う

15 :デフォルトの名無しさん:2006/01/04(水) 15:21:56
Opera社、“BitTorrent”を搭載した「Opera」プレビュー版の第2弾を公開
ttp://www.forest.impress.co.jp/article/2005/08/01/opera810preview2.html

16 :デフォルトの名無しさん:2006/01/05(木) 09:02:42
socketのlistenはどうすんのよ

17 :デフォルトの名無しさん:2006/01/06(金) 03:04:00
とりあえず、JavaScript用のライブラリを作れば良いんじゃないか?
C言語とかでw

18 :デフォルトの名無しさん:2006/01/06(金) 13:32:53
>>13
>しかし、Firefox はブラウザ自体が、JavaScript で出来てるので
なんでこう知ったかで無茶苦茶なことを言うのか意味不明。
どこをどうみてもCで書かれているだろう。
ソースが公開されているんだから、その節穴で良く確認してみろ。
頭が悪いにも程がある。

19 :デフォルトの名無しさん:2006/01/06(金) 17:50:51
>>18
あんなに重たいのに、Cなんだ。
C++じゃなくて?

20 :デフォルトの名無しさん:2006/01/06(金) 18:59:35
>>19
おまいもよくわかってないな、Cで作りゃなんでもかんでも軽いのかヨ

21 :デフォルトの名無しさん:2006/01/06(金) 20:32:26
>>20
だってあれぐらいの実装であんなに重たいんから、てっきりオブジェクト指向言語かと
思ってた。

22 :デフォルトの名無しさん:2006/01/06(金) 20:39:40
あっ、それとWindowsのプログラミングってしたことがないから、よく分かってないのは
当たってる。

23 :デフォルトの名無しさん:2006/01/06(金) 21:04:27
あなたのおつむがかなり弱いということはわかりました。

24 :デフォルトの名無しさん:2006/01/06(金) 21:22:31
>>23
ちょっと教えてもらいたいんだけど、軽くならないのならCで組む意味はなんなの?

25 :デフォルトの名無しさん:2006/01/06(金) 21:35:03
骨董OSにまで対応させるならCだろ。

26 :デフォルトの名無しさん:2006/01/07(土) 00:31:02
>>25
そういう理由なのか。
納得。

27 :デフォルトの名無しさん:2006/01/21(土) 21:00:39
すでに沈静化してんのかな。

>>18
13ではないしソースも見たことはないんですけど、ほぼJavascriptで動いてんのかと思ってました。
Native用言語で書かれたフレームワークっつかAPI上でほとんどXULで構成してあるのかと。

>>11
一応確認しておきたいんだけどP2Pてクライアント間の通信のことですよね?

ブラウザは任意のポートたたけますよね。
(URIでPortの記述が許されるのは標準と考えて良いような)
それについてはあまり問題にしなくてもよい気もしますが。

というか通信対象の制限が気になります。解決されていれば問題ないですが
やるとしたらNodeAとNodeBが通信する場合、双方が双方に対して一度HTTP
Requestを飛ばして通信用Javascriptを相手からダウンロードしてくる必要があるような。
となると互いにHTTPサーバの機能、少なくともサーバソケットが必要になります。
また通信内容がブラウザの領域を出られないような?気がします。AJAXと同じ仕組みで
何かダウンロードしてきても通常Javascriptの力ではローカルファイルシステムに保存できません。
まぁこの辺はブラウザの「ページを保存」+αのアイディアで何とかできるかもしれませんけども。

思いついたまま書いてみたけどサーバソケットを確保できそうならなにかできるのかもしれませんね。
しかしコンテンツとの融合云々という話だからなんかしら中央のサーバを考えなくてはならなさそうですが。

でもなんかブラウザでやんなくてもよいような気がしてきた・・・。


28 :デフォルトの名無しさん:2006/02/06(月) 23:46:54
JavaScriptで再帰作るとStackOverFlowになるんだけど
これを回避する方法って無いですか?

29 :デフォルトの名無しさん:2006/02/07(火) 01:28:20
それはCとかでも同じ、深い再帰はスタックオーバフローになる

再帰処理をループ処理とスタック変数を用いて書き換えるしかない

30 :デフォルトの名無しさん:2006/02/07(火) 06:39:02
>>29
ホントだ。
ためしにC言語で組んでみたら、似たような数でスタックオーバーフローになりました。
1000に満たない数でオーバーフローするんですね。
てっきりJavaScript特有の問題だと思ってました。

31 :デフォルトの名無しさん:2006/02/07(火) 07:23:53
でも、なんで400〜500回程度の階層で駄目なんでしょうか?

32 :マイク ◆yrBrqfF1Ew :2006/03/25(土) 18:44:59
スタックが「もう入らないよぉ」って言うまで何かを放り込むからだろ

33 :デフォルトの名無しさん:2006/03/26(日) 02:32:44
送信はどおとでもなると思うけど、受信というかサーバ側はどうやって実装するの?
Javascriptにそんな機能あったっけ?

34 :デフォルトの名無しさん:2006/05/13(土) 16:59:32
javascriptのスレって無いね

35 :デフォルトの名無しさん:2006/05/13(土) 18:52:34
あるけど、厨避けしてるだけ。

36 :デフォルトの名無しさん:2006/07/04(火) 21:16:22
↓時給1000円禁止

37 :デフォルトの名無しさん:2006/07/04(火) 21:17:36
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)

i−want−to−study−java@hotmail.co.jp
(アドレスは全角で書いてあるので半角に直してください)
よろしくおねがいします

38 :マイク ◆yrBrqfF1Ew :2006/07/04(火) 23:00:01
>時給1000円でJava教えてくださるかたを募集します

お前が鈴木あみより可愛ければ
時給2000円で俺が優しく教えてやるよ。
ホテル代はお前もちな。

39 :デフォルトの名無しさん:2006/07/05(水) 10:06:57
教室でJava教えているけど、時給2000円だ
30人くらいの生徒を相手にしている・・
1対1で1000円ならラクかもね

40 :デフォルトの名無しさん:2006/07/08(土) 16:28:15
時給\1,000だと大学生の家庭教師の半額じゃんw

41 :デフォルトの名無しさん:2006/07/17(月) 21:06:29
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp
教える対象は超初心者です。

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です


42 :デフォルトの名無しさん:2006/09/07(木) 23:25:56
function AAA()
{
alert('hello world');
}

43 :デフォルトの名無しさん:2006/09/07(木) 23:32:29
ajaxでこんなことやりたいんだけど、実現方法ありますか。

画面Zは複数画面から起動する。
起動方法は同じなので、起動用のjavascript関数をjsファイルに定義したい。

各画面から画面Zを起動する時の動きとしては
1.各画面のリクエストを送信
2.レスポンスを待つ
3.画面Zを起動する
※必ず2が完了してから3をやらないといけない
 レスポンス受信途中で各画面が閉じられないように、2が完了するまでの間、「通信中です」みたいなメッセージを
 各画面に出す必要がある。

44 :デフォルトの名無しさん:2006/09/08(金) 00:20:36
普通に基本的なAjaxプログラミングで出来るのでは?
prototype.jsで言うとonCompleteで画面Zを表示させればいいだけだし。
通信中メッセージはリクエスト前にメッセージ表示レイヤを展開して画面Z表示直前にレイヤを消せばいい。
見栄えにこだわるんだったらprototype_window使う手もある。

45 :デフォルトの名無しさん:2006/10/08(日) 05:58:55
ふむふむ

46 :デフォルトの名無しさん:2006/10/10(火) 06:48:47
そもそもJavaScriptは通信機能を持ってないということは誰もつっこまないのか?
知らないのか?
通信できたらトロイの木馬が作れるなw

47 :デフォルトの名無しさん:2006/11/06(月) 21:18:24
ちょっとみなさん、聞いてください。
javascriptのプルダウンメニューの一番上を空欄にしてそこだけブラウザから
タイプ入力できるようにしたいのですが、どうやったらいいですか?

48 :デフォルトの名無しさん:2006/11/09(木) 14:34:52
>ちょっとみなさん、聞いてください。

それが質問する聞き方かと言わせてください。

49 :デフォルトの名無しさん:2006/11/11(土) 00:04:56
このスレってネタですか?

50 :デフォルトの名無しさん:2006/11/11(土) 16:40:20
ネットワークとかファイルアクセス用の API を提供するための
Signed Applet を同じページに組み込んでやったことあるよ。
というか、こういうヘルパー使わないと無理じゃない?

FF なら Signed JavaScript あるからもしかしたら単独実装できるのかも
しれないけど。


51 :デフォルトの名無しさん:2006/11/26(日) 22:47:32
ここまでのまとめ

・"サイト閲覧者間の安全な P2P セッション"とのことなので「中央サーバ=そのサイトのサーバ」か?
>>1の意向的にはWebページでの実行(>>13
・Cなどでのライブラリを作ればどうか(>>17
・portはurlの機能として叩ける(>>27
・ファイルの保存問題(同上)
・サーバ側をどうするか(>>33
・ブラウザ独自仕様ならできる可能性(>>50
・通信部分だけでも他の手段(JavaApplet、Flash)で確保か(ここまでの流れより)
・JavaScript単体では実装できないのは明白(同上)

ネタくさいけれど、>>1が本気でやるのなら協力します。
JavaScript以外ほとんどできませんが。

52 :デフォルトの名無しさん:2006/11/26(日) 23:38:50
個人的にはとりあえずはJavaが一番標準化しやすい予感。

53 :デフォルトの名無しさん:2006/11/27(月) 00:38:21
JavaScriptって他のスクリプト言語、例えばPythonみたいにCとかで拡張できないの?

54 :デフォルトの名無しさん:2006/11/27(月) 00:47:49
>>53
XUL を使えば出来るんじゃない。処理系依存だね。

55 :51:2006/11/27(月) 02:01:52
>>53
Javaで実装されたECMAScriptであるRhinoとかありますし、JavaAppletの関数はブラウザから呼び出すこともできます。
つまり、JavaScript(もしくはECMAScriptの拡張は直接的にも間接的にも可能かと思います。
結局、JavaScriptのみで実装できない部分は他言語で実装するしかないでしょうし、拡張部分の処理系にこだわらなくてもいいとは思います。
ある程度の安定した拡張(FFのようにjsが組み込みされた環境への拡張orJavaApplet、FlashのようにWebページに埋め込み)が出来れば、JavaScript(もしくはry)を使っている人口は結構あるので、あとの開発は早いと予想してます。

56 :デフォルトの名無しさん:2007/01/02(火) 11:03:53
ハイブリッドP2Pかピュアかどうかは、JavaScript側の実装でどうとでも。
ただ、UDPも扱えず、TCPもリクエストだけだから、
直接ソケットを叩く仲介が必須。

FireFoxなら、埋め込みBase64データで保存、
そして、クロスプラットフォームなアドオン(Socketラッパ)を作成。
あとはこれがイベントを投げりゃあいい。

クロスブラウザは…規模的に無理じゃね?


57 :デフォルトの名無しさん:2007/01/03(水) 21:28:04
で、今気がついたのが、JavaScriptでP2Pだから、>>1の目標を無視することにはなるけれど、
「Rhinoを利用して作れば、記述はほぼJavaScriptでいける」=「JavaScriptでP2P完成」ではないか、と言う事。

58 :デフォルトの名無しさん:2007/01/31(水) 14:28:36
JavaAppletはそれがダウンロードされた鯖としか通信出来ないだろ・・・。
Sandbox(だっけ?)の制限とか変えられたっけ。

16 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)