server.js var http = require('http') , httpServer = http.createServer() , fs = require('fs'); httpServer.on('request', function(req, res) { fs.readFile(__dirname + '/public' + req.url.replace(/\/$/, '/index.html'), function(err, data) { if (err) { res.writeHead(403); res.write('Not found'); res.end(); } else { res.end(data); } }); }); httpServer.listen(8080); server.jsと同階層にあるpublicディレクトリ内に ファイルがあれ
intro なんだかんだ WebSocket を使ってるのに、 WebSocket サーバを自分で書いたことが無かったので、RFC も落ち着いてきたここらで、仕様を読みながら実装してみようと思いました。 "WebSocket サーバ 実装" とかでググると、 Socket.IO とか pywebsocket で WebSocket アプリ作って、「WebSocket サーバを実装」みたいなタイトルになってることが多いみたいですが、 (Apache に PHP で HelloWorld して、「HTTP サーバ実装しました」とは言わないよね。) この記事では、 WebSocket プロトコルをしゃべるサーバ自体を実装します。 といっても、全部やるのはちょっと大変だったので、基本的なテキストメッセージのやりとりの部分だけやって、エコーサーバができるところまでやりました。 完成版のソースは以下で
Nginx is the obvious front-end web server for non-blocking web applications. However, Nginx doesn’t currently support WebSockets (at the time of writing the feature is on their roadmap with “No date set”). You can compile Nginx with the tcp module to proxy WebSocket and HTTP traffic to different backends. However, as well as introducing the manual compilation step, this also requires running multi
去年PHPで実装するWebSocketサーバーについて書きましたが、ブラウザのバージョンが上がり、内容が古くなってきたので、2012年1月2日今現在のブラウザで動くよう改めて書いてみようと思います。 前回とブラウザ以外は変わりませんが、今回はこんな環境で動かします。 さくらのVPS CentOS PHP 5.3.6 Chrome 17.0.942.0 dev-m Firefox 8.0 release channel Safari 5.0.2 iPhoneのmobile Safari iOS5.0.1 ※サーバー側のWebsocket用ポート開放を忘れずに。 今回の最終目標は上記ブラウザすべてで動作するリアルタイムお絵かきツールを作る事にします。 まずは動かしてみる 手順 ライブラリなどを配置してひとまずデモ用のチャットアプリケーションを動かしてみます。こんな手順で進めていきます。 Web
WebSocket が、12月12日についにRFCになりました(RFC6455)。テキスト転送だけでなく、バイナリー転送もサポートされ、コネクションをキープするための ping/pongなどコントロールフレームも定義されました。rfcになる過程で様々なバージョンと、その実装系が出ていますので、そこのネゴシエーションの仕組みが入っていたり、以前は割と自由に使えそうだった subprotocolが、IANAにレジストレーションが必要になったりと、なかなかしっかりしたプロトコルに仕上がっている印象です。 さて、今年最後となる、今日のポストでは、このWebSocketにより、今後のWebはどうなっていくのかについて、僕が最近感じている妄想を書き連ねてみます。 WebSocketとは、いったい何なのか? さて、WebSocketとは、いったい何なのでしょうか?この問に対して、一般的には、 WebでP
JavaScriptJavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)の6日目。初参加です、緊張します。WebSocketネタということで、ChromeのWebKit Remote Debugging Protocolを使ってWebSocketでGoogle Chromeを操作する小ネタ。手順1.リモートデバッグを有効にしてChromeを起動Chromeの起動オプションに--remmote-debugging-portを付加してリモートデバッグを有効にする。 $ chrome --remote-debugging-port=9222 2.タブ一覧を取得今回はコントロールする側(Chrome)とされる側(node)が同一ホストで動いてるものとします。http://localhost:9222/jsonをGETで叩くとChromeのタ
はじめに ブラウザ間でP2P通信が実現できれば、ブラウザ上で動作するP2Pアプリが作れて面白そうだなーと思ったのでWebSocketを使って実現してみました。仕組みについては以下で説明していきますが、私が実現した方法は限定的で実用性が低く色々と足りない部分もあるので、軽い気持ちで読んで頂けるとありがたいですw 仕組みの概要 なぜWebSocketを使うのか 従来、Webサーバとクライアント(Webブラウザ)間で非同期に通信するにはXHR(XMLHttpRequest)を用いてきました。基本的にこのXHRは以下の図のように同一ドメインとしか通信できないという制約がありました。*1 しかし、WebSocketのthe Origin-based security modelでは異なるドメインとも通信することが可能になります。WebSocketプロトコルでは、サーバとクライアント間で接続を確立する
WebSocketって何? WebSocketは、Javascriptでサーバとリアルタイム双方向通信をする仕組みです。概要は第1回 WebSocket登場までの歴史:Jettyで始めるWebSocket超入門|gihyo.jp … 技術評論社によくまとまっています。 この記事ではWebSocketサーバを実装しながら、どういうプロトコルかを解説します。サンプルコードはWebSocket Draft 76でechoサーバーを作ってみた - いろいろな何かのものを参考にさせていただいています。ありがとうございます。 ※WebSocketプロトコルは現在ドラフトの段階なので、そのうち仕様が変わる可能性があります。この記事は20111/23時点の情報です。 プロトコル概要 WebSocketで通信を行なうおおまかな流れは次のようになります。 クライアントとサーバの間でハンドシェイクを行ない、接続
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く