Установка Node.js + Socket.IO на Debian

  • XJIOP
  • 16 июля 2014 в 17:02
  • СисАдмин 
  • -= SYSOP =-
    • Рейтинг: 3
    • Комментариев: 398
    • Загрузили: 1.33 ТБ
    • Скачали: 481.88 ГБ
    Устанавливаем Node.js
    cd /usr/src/
    git clone git://github.com/joyent/node.git
    cd node
    ./configure
    make
    make install
    Устанавливаем модуль
    curl -s https://npmjs.org/install.sh > npm-install.sh | sh npm-install.sh
    npm install socket.io
    npm install -g express
    примерный скрипт для запуска, назовем файл server.js
    // Подключаем необходимые модули
    var express = require('express');
    var app = express();
    var http = require('http');
    var server = http.createServer(app);

    // Теперь создаём вебсокеты и подключаем его к express приложению
    // это нужно чтобы всё работало вместе, на одном сервере как модули
    var io = require('socket.io').listen(server);

    // Воспользуемся функциями express для отдачи статики
    app.use(express.json());
    app.use(express.urlencoded());

    // Обозначим порт для приложения и вебсокета
    server.listen(8080);

    io.enable('browser client minification'); // send minified client
    io.enable('browser client etag'); // apply etag caching logic based on version number
    io.enable('browser client gzip'); // gzip the file
    io.set('log level', 0); // Уровень вывода лога у socket.io для отладки можно оставить по умолчению 3, потом оно не нужно
    io.set('transports', ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']); // enable all transports (optional if you want flashsocket)

    io.set('resource', '/socket');

    var connections = {};

    app.get('/', function (req, res) {
    res.send(404);
    });

    app.post('/message/:action/:to', function (req, res) {
    target = connections[req.params.to]
    if (target) {
    connections[req.params.to].emit(req.params.action, req.body);
    res.send(200);
    }
    else
    res.send(404);
    });

    io.sockets.on('connection', function(socket) {
    socket.on('user', function(user) {
    connections[user] = socket;
    }
    });
    запускаем
    node server.js
    для вебсайта (прослушка приватного канала)
    <script>
    var socket = io.connect('', { resource: 'socket' });
    socket.emit('user', 1); // ID юзера
    </script>

    --------------------

    for (;;) { echo rand(0,1); }
    Файлы обмена предоставлены пользователями трекера, администрация не несет ответственность за их содержание. Большая просьба не заливать файлы, защищенными авторскими правами, а так же файлы с нелегальным содержанием.
    Рейтинг торрент трекеров