Вопрос

здравствуйте, надеюсь выбрал тему верно, так вот ...

на хостинге установили node открыли порт 3000 порт прослушивается, при обращении lptf.it:3000 или http://185.53.160.215:3000/ выводится сообщение Hello Node.js Server!. Казалось бы все хорошо! но! я хочу дальше создание чата, и в корне сайта создаю файлик (сервер) с кодом (пример с интернета, я новичОк):

var express = require('express');
    var app = express();
    app.set('port', process.env.PORT || 3000);
    app.set('host', process.env.HOST || 'localhost');
    
    var logger = require('log4js').getLogger();
    var server = require('http').Server(app);
    var io = require('socket.io')(server);
    var port = 3000;


     app.use(express.static('/home/urlyogyj/public_html/views/chat.php'));
    app.get('/chat.php', function(req,res){
    res.sendFile('/home/urlyogyj/public_html/views/chat.php');
    });

    app.use('/fonts', express.static('/home/urlyogyj/node_modules/uikit/src/fonts/'));

     app.get('/socket.io.js', function(req,res){
    res.sendFile('/home/urlyogyj/node_modules/socket.io-client/dist/socket.io.js');
    });

    app.get('/jquery.js', function(req,res){
    res.sendFile('/home/urlyogyj/node_modules/jquery/dist/jquery.min.js');
     });

     app.get('/uikit.js', function(req,res){
    res.sendFile('/home/urlyogyj/node_modules/uikit/dist/js/uikit.min.js');
    });

    app.get('/uikit.css', function(req,res){
    res.sendFile('/home/urlyogyj/node_modules/uikit/dist/css/uikit.almost-flat.min.css');
    });

    app.get('/animate.css', function(req,res){
    res.sendFile('/home/urlyogyj/node_modules/animate.css/animate.min.css');
    });

    function usersCountToLog(){
    logger.info('User count: '+io.engine.clientsCount);
     }

     io.on('connection', function(socket){

    function setName(name){
        if(name != undefined && name != ''){
            socket.session = {};
            socket.session.userName = name;
            socket.session.address = socket.handshake.address; 
            socket.session.id = socket.id;          
            
            socket.broadcast.emit('newUser', socket.session);
            socket.emit('userName', socket.session);
            

            socket.emit('userList', io.length);

            logger.info('User '+socket.session.userName+' join from IP: '+socket.session.address);
            usersCountToLog();
            var clients = io.sockets.connected;


            var clientsList = {}
            for(var key in clients){
                if(clients[key].session)
                    clientsList[key] = clients[key].session;
            }
            
            socket.emit('clientsList', clientsList);
            console.log(clientsList);
        }
        else
            socket.emit('setName');
    }
    setName(null);
    socket.on('setName', function(name){
        if(name.length > 0)
            setName(name);
        else
            socket.emit('setName');
    });

    socket.on('message', function(msg){
        if(socket.session){
            if(socket.session.userName === null || socket.session.userName == '' || socket.session.userName == undefined){
                socket.emit('setName');
            }else{
                logger.trace('———--');
                logger.trace('User: ' + socket.session.userName + ' |  
    Message: ' + msg);
                logger.trace('====> Sending message to other chaters...');

                socket.broadcast.emit('messageFromClients', msg,  
    socket.session.userName);
                socket.emit('messageToClients', msg,      
    socket.session.userName);
            }
        }
    });

    socket.on('disconnect', function(){
        if(socket.session){
            io.sockets.emit('userDisconnected', socket.session);
            logger.info('User '+socket.session.userName+' left chat');
            usersCountToLog();
        }
    });
    });

    console.log('server started, tipa...');

как видно по коду прописал адреса к файлам, они верные, в консоле перезапускаю сервер командой

    node /home/urlyogyj/public_html/app.js screen


после этого обновляю адрес lptf.it:3000 и все равно без перемен, выводит Hello Node.js Server!
я не понимаю почему, и где и как можно отслеживать ошибки.
чего вообще хочу добиться:
до авторизации какого-либо пользователя чат не нужен, как только пользователь авторизовывается на сайте, открывается сокет и на сайте для всех остальных пользователей и гостей видна надпись что тот авторизованный пользователь в сети, и напротив его логина появляется кнопка создать чат, но только для авторизованых пользователей, при нажатии на нее открывается окошко чата, как на сайте вконтакте или фейсбуке, у получателя сообщения есть блок со списком все кто прислал ему сообщение, получатель нажимает на автора и пользователи начинают общение, каждый диалог с новым пользователь должен запускать свое окошко чата. причем этот чат существует на всех страницах сайта. после выхода пользователя через кнопку выход или закрытии вкладки сокет закрывается, а все сообщения записываются в базу данных!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

Нет ответов на вопрос

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: gladiolus3228
      Нужно заблокировать выбор города из списка, пока не выбрана область. Как это можно на js реализовать?

    • Автор: Алексей8888
      Добрый День.
      Такой Вопрос, если есть возможность, помогите, кто сталкивался с подобной Темой.
      Есть форма отправки информации (Имя, Е-мэйл, Телефон, Описание)
      После заполнения формы, нажав на Отправить, инфо отправляесься на Сервер, храниться там. На сервере создал
      файл post.php
      Вопрос заключаеться в следующем:
      Что нужно прописать в скрипте чтобы заполненная форма номер 1 автоматически отправлялась на емэйл
      следующему человеку заполнившему следующим ту же форму?
      Выглядит так: 
      Первый человек заполняет форму, она посылается на сервер и сохраняется в файле. Следующий человек получает на емейл содержимое файла, после чего файл переписывается.
      И так далее, каждый заполнивший форму Автоматически получает информацию предыдущего посетителя.
      Буду Благодарен за любую информацию.
      С Уважением
      Спасибо
    • Автор: Awilum
      Доброго времени суток!
      После 8 лет работы в вебдеве я ушел из него и вообще от программерской деятельности в сентябре 2017-го, но вот сейчас ко мне обратился один фотограф, который попросил сделать для него сайт портфолио, я согласился. Посмотрев на разные движки, и особенно WP. Понял что все эти тяжелые движки не годятся - боль от их использования. Решил взять наработки с моей Монстры и Фансоро и стартовал новый проект Flextype!
      Flextype - это новая генерация движка Monstra и Fansoro. Flextype максимально простой и расширяемый движок, практически любую задачу можно будет реализовать плагинами, так как движок предоставляет потрясающе простое API для разработчиков плагинов и тем оформлений. Страницы в Flextype - это простые файлы написанные с использованием YAML и Markdown синтаксиса, которые хранятся в папке: /site/pages
      Ключевые особенности движка Flextype: 
      ПРОСТОТА 
      Система очень простая в установке, обновлении и использовании! Достаточно просто скопировать файлы движка на сервер и это все!
      СКОРОСТЬ
      Flextype очень легкий и быстрый движок!
      Никакой базы данных, только файлы!
      РАСШИРЯЕМОСТЬ
      Плагины, Темы, Шорткоды и многие другие вещи позволяют легко расширять сайт!
      MARKDOWN СИНТАКСИС
      Вы можете использовать любой редактор для редактирования страниц используя Markdown синтаксис.
      ДИНАМИЧНЫЙ ТИП КОНТЕНТА
      Flextype позволяет создавать страницы практически любой сложности. Благодаря YAML страницы могут иметь любые необходимые поля!
      СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
      Flextype - это свободное программное обеспечение с открытым исходным кодом и распространяется под лицензией MIT!
      C помощью Flextype можно создать:
      - сайт визитку
      - домашнюю страничку
      - сайт-портфолио
      - лендинг-страницы
      - блог
      Но на самом деле применение Flextype не ограничивается тем, что перечислено выше. Так как это универсальная CMS, которая легко расширяется плагинами!
      Цели на ближайшее будущее:
      - Улучшить ядро движка, рефакторинг, новые фичи и умное кеширование.
      - Улучшить юзабилити сайта движка и улучшить документацию.
      - Сфокусироваться на разработке плагинов и тем оформлений.
      - К релизу 1.0.0 выпустить стабильный плагин Админки.
      Официальный сайт: http://flextype.org
      Организация на GitHub: https://github.com/flextype
      Цель Создания топика:
      - Привлечение разработчиков к Open Source проекту.
      - Оценка Flextype: критика, пожелания, предложения.

Карта разработчиков

Карта участников

Отметь себя на карте для поиска или предложения работы