Tuesday, May 28, 2013

Node.JS часть 2 - Socket.IO

Пока пишу дипломную работу - нет времени на серьёзное изучение какой-либо области, вот меня и бросает из крайности в крайность. Не успев освоить азы node.js (да чего уж там, не успев освоить даже яваскрипт) я бросился разбираться с сокетами. До этого, кстати, никогда с ними не встречался. Немного кода с комментариями чтобы не забыть:

server.js
// Подключаем модуль сокетов (предварительно скачав необходимый пакет через npm install     // socket.io)
var io = require('socket.io').listen(8080, '127.0.0.1');

// Массив, где будут храниться все текущие сокет соединения.
var sockets = [];

// Отключаем вывод полного лога - пригодится в production'е
io.set('log level', 1);

io.sockets.on('connection', function (socket) {
    sockets.push(socket);
    socket.json.send({'id': socket.id.toString()});
});

client.js
var name;
window.onload = function(){
    socket = io.connect('http://127.0.0.1:8080');

    socket.on('connect', function(){
        socket.on('message', function(msg){
            name = msg.id;
            alert(name);
        })
    });
}

http://hashcode.ru/questions/79766/socket-io-node-js-%D0%BF%D0%B0%D1%80%D1%83-%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2 

http://socket.io/#how-to-use

Monday, May 27, 2013

Node.JS часть 1 - Знакомство

Впервые скачал и поставил node.js на свой компьютер под win 7 х64. После программирования на PHP чувства неопределённые. В одном, правда, я уверен на все 100 - javascript нужно срочно подтянуть.

Заметки по Node.js:

Подключаем модуль:
require('./module');
Делаем обЬекты модуля видимыми в родительском фаиле:
module.exports = object || exports.object = object || this.object = object
Запускаем веб-сервер:
require('http');
var port = 1337,
      host = '127.0.0.1';
var server = http.createServer(function(request, response){
    console.log('Recieved request: ' + request.url);
    fs.readFile('.' + request.url + '.html', function(error, data){
        if (error){
            fs.readFile('./404.html', function(error, data){
                response.writeHead(404);
                response.end(data);
            })
        } else {
            response.writeHead(200);
            response.end(data);
        }
    });
});
server.listen(port, host, function(){
    console.log("Listening" + host + ":" + port);
});
Установка модуля из менеджера пакетов:
Посмотреть все модули можно на странице: https://npmjs.org
win -> cmd -> cd ./nodeapp -> npm install modulename (установит модуль в папку node_modules)
/.../ -> npm install modulename -g (установит модуль в папку ./nodeapp)
 /.../ -> npm update modulename (обновит модуль до последней версии)