node.js

socket.ioでリアルタイムチャット

投稿日:2012年12月20日 更新日:

環境

node v0.9.3
express 3.0.4
socket.io 0.9.13

socket.ioの1.0.0がもうすぐ出るらしいところでチャットを試してみた

CentOS5.8にnodebrewでnode.jsをインストール

 リファレンス

socket.io/#how-to-use

参考書

socket.io日本語公式

jxck.github.com/socket.io/

準備

node_modulesというディレクトリにライブラリがダウンロードされる

expressはnode.jsのウェブフレームワーク.今回は静的なページを提供するのに使う.

サーバー側~express

まずexpress

app.coffee

これでpublicディレクトリにindex.htmlを適当につくってcoffee app.coffeeを実行すれば簡易なウェブサーバができる

socket.ioのイベント駆動

onでイベントを受けたときの処理を書いて、emitでイベントを発生させる

これを交互にやり取りする

connectとdisconectとmessageは特別なイベントでその他は自由に名付けてよい

 

サーバー側~socket.io

つながったソケットのidをログに流して、dataイベントが送られてきたらdataをログに流してオウム返しする

このidからsocketオブジェクトを作れるのかな?

クライアント側

npmでインストールすると、socket.io/socket.io.jsでライブラリをロードできるようになる

client.coffee(Makeしてclient.jsをつくっておく)

ほんとはサニタイズとかしないと

 接続者全員にメッセージを流したいので修正

app.coffee

app.coffeeの全部ソース

なんか再現しようとしたらうまく動かなかったので、下のは動いた.

 

 情報

[socket.io] Authorizing和訳

stackoverflow.com/questions/12244436/preventing-csrf-for-websockets

Socket.IO API 解説

 Node.js + Socket.IO + jQuery で最小構成チャット

-node.js
-,

執筆者:

関連記事

Electron + CoffeeScript + Backbone.js + EcoでTodolistをつくってみた

By: Purple Slog – CC BY 2.0 目次1 はじめに2 gulpの準備3 Hello electron4 Hello Backbone.js & eco5 Ba …

Electronで簡単にMac風UI〜Photon

By: Patrick Hoesly – CC BY 2.0 目次1 Photon2 gulpfile.coffee3 index.scss4 Todolistに適用する5 できた Pho …

ElectronでTrayアイコン

By: Cooks & Kitchens – CC BY 2.0 目次1 Tray2 main.coffee3 できた Tray github.com/atom/electron

デスクトップアプリを作成できるフレームワークをWindowsで触ってみた~Electron

By: Adam Jenkins – CC BY 2.0 目次1 Electron2 前提3 electronのインストール4 Hello World5 パッケージング6 DevTool7 …

Electronでsqlite3を使ったアプリ

By: fdecomite – CC BY 2.0 目次1 環境2 electronでnpmモジュールを使うには3 jqueryをレンダラプロセスで使う4 slqite3の使い方5 ipc …