2010-10-30 145 views
14

我已经安装了nodejs,并运行了几个简单的例子,例如在一个端口上打开一个服务器并侦听该端口。nodejs从哪里开始?

但是,我仍然无法将nodejs与web开发联系起来。所以要学习和实现nodejs我正在考虑使用rails和nodejs来制作tic tac脚趾。这可能吗?

我在设想一个多人游戏的井字游戏,如果人1选择的东西,人2自动在浏览器上看到它。

我应该从哪里开始?

我在rails中有经验,但在nodejs或nodejs + rails中没有。

回答

2

我建议看看项目Socket.IO和Socket.IO节点。它使用HTML5 WebSockets的(如果可用),并且回落自动和优雅(无需干预)到Flash插槽,并根据需要

XHR轮询这里有一个脚本下载文件:

mkdir socket.io 
cd socket.io 
git clone https://github.com/LearnBoost/Socket.IO.git --recursive 
git clone https://github.com/LearnBoost/Socket.IO-node.git --recursive 

这里的服务器。 js文件:

var http=require('http'); 
var url=require('url'); 
var fs=require('fs'); 
var sys=require('sys'); 
var io=require('./socket.io/Socket.IO-node'); //adjust path as necessary... 

var server=http.createServer(function(req,res){ 
    res.writeHead(200,{'Content-Type':'text/html'}); 
    res.write('Hello world'); 
    res.end(); 
}); 
server.listen(8000); 

var socket=io.listen(server); 

socket.on('connection', function(client){ 
    onConnection(client); 
    client.on('message', function(){ 
    onMessage(); 
    }) 
    client.on('disconnect', function(){ 
    onDisconnect(); 
    }) 
}); 
function onConnection(client){ 
    console.log('connection'); 
    //client.connected; //tests if connected 
    //client.send("message"); 
    //client.broadcast("message"); //send to all other conns 
} 
function onMessage(){ 
    console.log('message'); 
} 
function onDisconnect(){ 
    console.log('disconnect'); 
} 

}); 

sudo node server.js

运行上面的服务器,这是你的index.html在兄弟中运行wser:

<script src="./socket.io/Socket.IO/socket.io.js" type="text/javascript" charset="utf-8"></script> <!--Adjust path as necessary--> 
<script> 
var host="localhost"; 
var port=8000; 

var socket=new io.Socket(host,{'port':port}); 

socket.connect(); 
socket.on('connect',function(){onConnect();}) 
socket.on('message',function(data){onMessage(data);}) 
socket.on('disconnect',function(){onDisconnect();}); 

function onConnect(){ 
    ///alert('connect'); 
} 
function onMessage(data){ 
    //alert('message'); 
} 
function onDisconnect(){ 
    //alert('disconnect'); 
    socket.connect(); 
} 

</script>