2010-10-30 22 views
14

Ho installato nodejs e ho eseguito un paio di semplici esempi come aprire un server su una porta e ascoltare su quella porta.nodejs da dove iniziare?

Tuttavia, non riesco ancora a collegare nodejs allo sviluppo web. quindi per imparare e implementare nodejs sto pensando di creare un toic tac usando rails e nodejs. È possibile?

Sto immaginando un gioco multi-player tic-tac-toe in cui se la persona 1 seleziona qualcosa, la persona 2 la vede automaticamente sul proprio browser.

dove dovrei iniziare con qualcosa di simile?

Ho esperienza in rotaie ma nessuna in nodejs o nodejs + rails.

risposta

6

Primo. Basta provare a implementare l'applicazione di base e ottenere un'idea del framework. Ci sono diversi tutorial on-line, ad esempio:

http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/

documentazione a http://nodejs.org/

http://howtonode.org/

Inoltre v'è un 70 min screencast da peepcode che costa 9 $

https://peepcode.com/products/nodejs-i

Ci sono anche diverse app su github, che dai un'occhiata a Il codice di lettura è sempre il migliore.

2

Suggerirei di osservare il progetto Socket.IO e Socket.IO-node. Esso utilizza HTML5 WebSockets, se disponibile, e ricade automaticamente e con grazia (nessun intervento richiesto) alle prese Flash e XHR-polling, se necessario

Ecco uno script per scaricare i file:

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 

Ecco il server. il file 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'); 
} 

}); 

eseguire il server di cui sopra con sudo node server.js

E qui è il vostro index.html per essere eseguito in un bro 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> 
Problemi correlati