node.js、WebSocket、そこらへんの入門?

node.js、WebSocketってなぁに?て会話。 私(@UsagiLatte)もよくわかってないので間違いがあったら指摘ほしいです。
14
@soraiy

Node.js なんて俺に使えるのだろうか。

2011-03-29 15:14:28
@soraiy

難しい話ばかりで小さな結果がなかなかなくて頭の悪い僕にはわからない…。身近なものをなんとかそれでなんとかした例ないかなぁ。

2011-03-29 15:17:46
@soraiy

「Chromeにものっている高速JavaScriptエンジン上で動くサーバを動かせる仕組み」って怖いんだけど。そこにはどんな情報が入れられるんだろ。

2011-03-29 15:19:03
@soraiy

node.js で「ソーシャルサイトなんかで、誰かが自分に対してメッセージを送ったりした際もすぐアラート表示」って、自分のブラウザのサーバーがその人のブラウザのサーバーを直接叩くの?

2011-03-29 15:24:26
ラムメロンピニャコラーダ @rummelonp

@soraiy 普段XHRでポーリングしてやってることを、コネクション張りっぱなしにしてメッセージを受信したタイミングで全てのコネクションにメッセージを送信

2011-03-29 15:28:11
KOBA789 @KOBA789

@soraiy 日本ユーザーグループもあるでよければぜひ! (回し者です)

2011-03-29 15:32:43
@soraiy

イベントループって言葉がなかなか解釈できないんだ。

2011-03-29 15:33:37
@soraiy

僕の頭はカチンコチン。

2011-03-29 15:33:47
ラムメロンピニャコラーダ @rummelonp

@soraiy 前者:「ガラッ)新しいツイートありませんか?」「ありませんよ。」「そうですか。また1分後に来ます。(ガラッ」 後者:「ガラッ)ドア開けっ放しにしとくので新しいツイート来たらください。」「はいよ。」「(ポイッ」「(ポイッ」

2011-03-29 15:34:30
@soraiy

分かりやすいよ分かりやすい! RT @mitukiii: @soraiy 前者:「ガラッ)新しいツイートありませんか?」「ありませんよ。」「そうですか。また1分後に来ます。(ガラッ」 後者:「ガラッ)ドア開けっ放しにしとくので新しいツイート来たらください。」「はいよ。」「(ポイッ

2011-03-29 15:35:19
うさぎらて @UsagiLatte

あれ?つながらない / Node.js 日本ユーザグループ http://htn.to/DUKMYr

2011-03-29 15:35:47
KOBA789 @KOBA789

@soraiy #nodejs_jp につぶやくといろいろ教えてくれる優しい人達ばっかりで楽しいですよ!

2011-03-29 15:36:28
うさぎらて @UsagiLatte

XHRってなんだとおもったらXMLHttpRequestだった。

2011-03-29 15:38:22
ラムメロンピニャコラーダ @rummelonp

@soraiy ちょっと違いました。「新しいツイートありませんか?」「ありませんよ。」じゃなくて「最新ツイート20件ください。」「はいよ。」「新しいツイートはないようですね。」なので更新がない場合は無駄なリクエストになる。

2011-03-29 15:39:16
ラムメロンピニャコラーダ @rummelonp

@soraiy WebSocketでググってみると良いですよ。確かブラウザはChromeとSafariしか対応してないです。WebサーバもWebSocketに対応したものが必要になります。

2011-03-29 15:44:42
うさぎらて @UsagiLatte

@mitukiii @soraiy なんかおもしろい話してるのでみてるなう。node.jsおもしろそうですよね

2011-03-29 15:46:45
ラムメロンピニャコラーダ @rummelonp

これ分かりやすい。 / 第2回 Comet---プッシュ型のWebアプリケーションを作る:ITpro http://htn.to/nQpzhp

2011-03-29 15:47:39
@soraiy

Comet っていうのが前からあるらしいね。

2011-03-29 15:49:28
@soraiy

「サーバ側からのプッシュ配信が可能なものの、多くの実装では擬似的に双方向通信を行うため通信が発生するごとにTCPのハンドシェイク手続きを再度行う必要があるほか、HTTPコネクションを長時間占有するためその間同一サーバに接続する他のアプリケーションの動作に影響を及ぼす可能性がある」

2011-03-29 15:49:33
@soraiy

WebSocket は Comet に比べて。

2011-03-29 15:49:58
@soraiy

「ーバとクライアントが一度コネクションを行った後は、必要な通信を全てそのコネクション上で専用のプロトコルを用いて行う。従来の手法に比べると、新たなコネクションを張ることがなくなる・HTTPコネクションとは異なる軽量プロトコルを使うなどの理由により通信ロスが減る」

2011-03-29 15:50:18
ラムメロンピニャコラーダ @rummelonp

Cometって聞くとBitTorrentクライアントのBitCometの方思い浮かべちゃうな。

2011-03-29 15:50:36
@soraiy

「必要な通信を全てそのコネクション上で専用のプロトコルを用いて行う」がキーなんだね!これが「HTTPコネクションとは異なる軽量プロトコル」だから凄いのか!

2011-03-29 15:51:04
うさぎらて @UsagiLatte

ああ、そういうことなんね。 / Firefox 4 では Websocket を無効化します « Mozilla Developer Street (modest) http://htn.to/znRDP8

2011-03-29 15:52:38