nodejs с чего начать? - PullRequest
       42

nodejs с чего начать?

14 голосов
/ 31 октября 2010

Я установил nodejs и запустил пару простых примеров, таких как открытие сервера в порту и прослушивание этого порта.

Однако я до сих пор не могу связать nodejs с веб-разработкой.поэтому, чтобы изучить и реализовать nodejs, я думаю о том, чтобы сделать крестики-нолики с помощью rails и nodejs.Возможно ли это?

Я представляю многопользовательскую игру в крестики-нолики, в которой, если человек 1 выбирает что-то, человек 2 автоматически видит это в своем браузере.

с чего мне начать с чего-то подобного?

У меня есть опыт работы с рельсами, но нет опыта работы с nodejs или nodejs + rails.

Ответы [ 4 ]

6 голосов
/ 31 октября 2010

Сначала Просто попытайтесь реализовать базовое приложение и почувствуйте структуру. Например, в Интернете есть несколько учебных пособий:

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

Документация на http://nodejs.org/

http://howtonode.org/

Также есть 70-минутный скринкаст по peepcode, который стоит 9 $

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

На github есть также несколько приложений, на которые вы посмотрите. Чтение кода всегда лучше.

2 голосов
/ 06 ноября 2010

Рекомендую посмотреть на проект 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

Вот файл server.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 для запуска в браузере:

<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>
1 голос
/ 19 сентября 2011

Я считаю пример гексов полезным в качестве справочного материала для игры в реальном времени с использованием nodejs.

https://github.com/joyent/node-camp/tree/master/hexes

1 голос
/ 24 апреля 2011

Я нашел Книгу для начинающих полезной. Однако, вероятно, это слишком просто для того, что вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...