相关知识总结:
Juggernaut
Juggernaut gives you a realtime connection between your servers and client browsers. You can literally push data to clients using your web application, which lets you do awesome things like multiplayer gaming, chat, group collaboration and more.
Juggernaut is built on top of Node.js and is super simple and easy to get going.
Node.JS
Node.
特点:
* 单线程事件模型,简单高效
* 基于活跃的高性能V8引擎
* 社区活跃,组件丰富
Redis
搞了两天, 才把人家写的一个chat room的例子跑起来. 不废话了, 先list环境
1. ubuntu 11.04
2. redis-server 2.2.2
http://redis.io/download
启动命令 redis-server
3. nodejs 0.4.12 (这里的版本需要跟npm有关系, 如果用最新的node, 下面你要发疯的, 装不起来npm:) )
https://github.com/joyent/node https://github.com/joyent/node/wiki/Installation 验证命令 node-repl, quit with ctrl+D
4. npm 1.0.30 需要npm来安装juggernaut (npm 1.0.30 Required: {"node":">= 0.4.1 < 0.5.0"})
https://github.com/isaacs/npm
5. juggernaut
https://github.com/maccman/juggernaut.git
启动命令 juggernaut
还需要安装 相应的gem包
sudo gem install juggernaut
差不多了, 就需要上面这些, 编译安装无非就是以下几个命令, 具体的操作给出的帮助连接里面都有
./config make sudo make install make test
安装过程中出现的问题解决如下:
1. node 安装好了之后启动报错
axconfig: port 1 not active axconfig: port 2 not active
解决方法
执行以下命令后, 重新编译源代码安装 sudo apt-get remove –purge node sudo apt-get clean
2. npm 命令总是弹出文本
弹出文本 *Title:* Non-Parametric Mapping Chris Rorden's NPM :: 2 November 2010 (Debian) CacheMB = 512; Threads used = 4 终端显示 ish@ubuntu:~$ npm install express [WARNING] Out of OEM specific VK codes, changing to unassigned [WARNING] Out of unassigned VK codes, assigning $FF
原因, 你的机器上有个npm的程序重名了
解决方法
在软件中心卸载这个重名的程序, 然后下载npm源文件编译安装
3. 安装npm的时候报node版本过高
npm Required: {"node":">= 0.4.1 < 0.5.0"}
解决方法
重新下载旧版本的node编译安装
安装就绪后,就可以来体验juggernaut带来的chat room了
按照http://www.golygon.com/2010/12/private-chat-room-in-ruby-on-rails-3-0/中的提示,下载现成的demo
git clone git://github.com/prabgupt/chatclient.git --recursive cd chatclient rails s
URL 中测试, 发送信息
localhost:3000/chat/channel1 localhost:3000/chat/channel2