2016-07-22 2 views
2

Это мой первый пост в stackoverflow, поэтому pls простите меня, если я делаю пост taht уже существующим. Я новичок в HTML и .js, «знаю парней».Node.js Сервер завершает работу как мобильное устройство в браузере

У меня есть мобильное приложение на планшете с браузером режима кисока, и я использую его для подключения к моему серверу NodeJS на RPI (работает). У меня есть много файлов HTML и .js уже в моем проекте.

То, что я пытаюсь выяснить:

  1. Можно ли сделать новый отдельный HTML или .js файл, который будет делать что-то вроде пульта дистанционного управления с моим планшетом на сервере. Пример. Когда я нажимаю кнопку, та же кнопка нажимается на браузер в RPI beacuse. У меня есть другой отдельный показ в RPI, который показывает то же самое, и я бы использовал свой планшет только как getter HTML (чтобы я мог показать его на планшете) и метод ввода для RPI. (Одновременно на обоих дисплее, но использование планшета в качестве входных данных)

  2. или обновить все существующие HTML и .js на стороне сервера (сложнее путь, если эта вещь даже posbile сделать)

Спасибо очень многое для дальнейшей помощи!

редактировать дополнительного - код

Вот код на стороне сервера!

//var app = require('http').createServer(handler); 
 
//var express = require("express")(); 
 
var express = require("express"); 
 
//var app = require("express")(); 
 
var app = express(); 
 
var http = require("http").Server(app); 
 

 
var path = require("path"); 
 

 
//var io = require('socket.io')(app); 
 
var io = require('socket.io')(http); 
 
var SerialPort = require('serialport'); 
 

 

 
//previous was app.listen(3000); 
 
http.listen(3000); 
 

 
//Enabling CORS - for specific localhost port 
 
app.use(function (req, res, next){ 
 

 
\t res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080'); 
 
\t res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); 
 
\t res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); 
 
\t res.setHeader('Access-Control-Allow-Credentials', true); 
 
\t 
 
\t next(); 
 
}); 
 

 
function handler(req, res){ 
 
    console.log(req, res); 
 
} 
 

 

 

 
    var serialPort = new SerialPort.SerialPort("/dev/ttyAMA0", { 
 
     baudrate: 9600, 
 
     dataBits: 8, 
 
     parity: "none", 
 
     stopBits: 1, 
 
     flowControl: false 
 
    }); 
 

 
    var counter = 0; 
 

 
    serialPort.on("open", function() { 
 
     console.log("open"); 
 
     var service = new Service(); 
 

 
     serialPort.on("data", function (data) { 
 
      var hexData = data.toString('hex'); 
 
      console.log(data, hexData); 
 
      io.emit('hit', data); 
 
     }); 
 
    }); 
 

 

 
io.on('connection', function(socket){ 
 
    console.log('Connected'); 
 
\t 
 
\t //nsmrcek - custom code for accepting data from client side 
 
\t socket.on("message1",function(data){ 
 

 
\t }); 
 
\t socket.on("message2",function(data){ 
 

 
\t }); 
 
\t socket.on("message3",function(data){ 
 

 
\t }); 
 
\t socket.on("message4", function(data){ 
 

 
\t }); 
 
\t socket.on("message5", function(data){ 
 

 
\t }); 
 

 
}); 
 

 

 

 

 
app.use(express.static(path.join(__dirname, '/'))); 
 

 
//app.use('/js', express.static(path.join(__dirname, 
 

 
app.get("/home",function(req,res,next){ 
 
\t //res.send("OK"); 
 
\t //if fails path incorrect 
 
\t res.sendFile(path.join(__dirname + "/index.html")); 
 
\t //res.render("index.html"); 
 
}); 
 

 

 
function Service() { 
 
    this.mapCodeToHit = function (data) { 
 
"data send from little homemade CPU board via serial port to RPI server" }

Я надеюсь, что это достаточно кода, чтобы Вы могли поручить мне, куда поместить больше кода для имитации нажмите на Эври другого клиента при нажатии кнопки на одном из клиентов (alawys 2 клиентов)

ответ

1

Если вы создали соединение с веб-сервером, которое проходило через ваш сервер и нажало обновленное состояние кнопки на подключенные клиенты, это, безусловно, было бы возможно. Я не могу дать подробный ответ, не видя ваш код, но вы можете начать с socket.io docs здесь и задать дополнительные вопросы по мере начала работы.

http://socket.io/

+0

да, я использую Socket.io для ТАЕШЬ, мой вопрос теперь я могу получить кнопки идентификатор из одного браузера и моделирования нажмите на другом (я должен буду найти все кнопки ID, есть как 100 кнопок с большим количеством кода в HTML и .js) или как вы сказали, что он нажимает кнопку обновления для подключенных клиентов. Извините, но я не могу добавить столько кода (socket.io, версия 1.4.5). У меня есть движок для игры в .js, в главном меню, он говорит что-то о node-pushserver. Все, что мне нужно знать, какой код использовать для такой ситуации, и время, которое я найду, я найду, где его поместить (я думаю). Извините за не уточнение – Avoid

+0

push.js добавленный под вопрос – Avoid

+0

server.js добавленный в вопрос – Avoid

Смежные вопросы