Nodejs и webSockets, запускающие события?

Я новичок в этом, я создал стандартное приложение для веб-чата и вижу мощь nodejs, express, socket.io.

То, что я пытаюсь сделать, это инициировать события с телефона на веб-сайт, например, пульт дистанционного управления. Существует серверный javascript, который прослушивает события от клиента, и клиентский javascript, который запускает эти события, вот как я понимаю, это исправит меня, если я ошибаюсь.

Я узнал в приложении чата, что я могу отправлять объекты из любого места, если они подключены к моему серверу через определенный порт.http://my-server-ip:3000/, В основном все события находятся внутри страницы индекса, и соединениеindex вserver вindex.

То, что я пытаюсь выучить, это как запускать события с внешней страницы, я видел такие вещи, какhttp://my-server-ip:3000/ws или что-то в этом роде, идея состоит в том, чтобы подключиться к мобильному интерфейсу, который не является фактическим индексом или самим веб-сайтом, но этот интерфейс связывается с сервером узла, используя его в качестве диспетчера для запуска событий на главной странице индекса.

В основном то, что я узнал, былоindex вserver вindex, Я не уверен, как я могу идтиcustom-page вserver вindex.

Я вижу, что в моем app.js я понимаю, что сокет слушаетsends который находится на клиенте, то он отправляет сообщение.

io.sockets.on('connection', function (socket) {
    socket.on('sends', function (data) {
        io.sockets.emit('message', data);
    });
});

Я попытался создать test.html, на котором есть кнопка, я попытался прослушать ее, вот снимок экрана.

Вот мой код клиента

window.onload = function() {

    var messages = [];
    var socket = io.connect('http://my-server-ip:3000/');
    var socketTwo = io.connect('http://my-server-ip:3000/test.html');
    var field = document.getElementById("field");
    var sendButton = document.getElementById("send");
    var content = document.getElementById("content");
    var name = document.getElementById("name");

    var trigBtn = document.getElementById("trigger-btn");

    socket.on('message', function (data) {
        if(data.message) {
            messages.push(data);
            var html = '';
            for(var i=0; i<messages.length; i++) {
                html += '<b>' + (messages[i].username ? messages[i].username : 'Server') + ': </b>';
                html += messages[i].message + '<br />';
            }
            content.innerHTML = html;
        } else {
            console.log("There is a problem:", data);
        }
    });

        //FROM DEMO
    // sendButton.onclick = sendMessage = function() {
    //,     if(name.value == "") {
    //         alert("Please type your name!");
    //     } else {
    //         var text = field.value;
    //         socket.emit('send', { message: text, username: name.value });
    //         field.value = "";
    //     }
    // };

        //I include this javascript with test.html and trigger 
        //this button trying to emit a message to socketTwo
    trigBtn.onclick = sendMessage = function() {
        socketTwo.emit('send', { message: 'String test here' })
    }

}

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

Вот мой код сервера app.js

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , http = require('http');

var app = express();
var server = app.listen(3000);
var io = require('socket.io').listen(server); // this tells socket.io to use our express server

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.static(__dirname + '/public'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);

app.get('/test.html', function(req, res) {
    res.send('Hello from route handler');
});

io.sockets.on('connection', function (socket) {
    socket.emit('message', { message: 'welcome to the chat' });
    socket.on('send', function (data) {
        io.sockets.emit('message', data);
    });
});

Весь код, размещенный выше, просто тестирует код резака печенья, я учусь с нуля, поэтому все вышеперечисленное можно полностью изменить, это просто начало.

Ответы на вопрос(1)

Ваш ответ на вопрос