【问题标题】:Node.js Server completing same Function as mobile device on browserNode.js 服务器在浏览器上完成与移动设备相同的功能
【发布时间】:2016-11-26 11:34:29
【问题描述】:

这是我在 stackoverflow 上的第一篇文章,如果我正在发布已经存在的帖子,请原谅我。我对 HTML 和 .js 有点陌生,“了解基础知识的人”。

我在平板电脑上有一个带有 kisok 模式浏览​​器的移动应用程序,我正在使用它连接到我在 RPI 上的 NodeJS 服务器(有效)。我的项目中已经有很多 HTML 和 .js 文件。

我想知道的:

  1. 是否可以创建新的单独的 HTML 或 .js 文件,以使用我的平板电脑远程控制服务器。示例 - 当我单击一个按钮时,在 RPI 上的浏览​​器上单击了相同的按钮,因为我在 RPI 上有另一个单独的显示,显示相同的内容,我只会将我的平板电脑用作 HTML 的获取器(所以我可以在平板电脑上显示它)和RPI 的输入法。 (同时在两个显示器上,但使用平板电脑作为输入)

  2. 或者在服务器端更新所有现有的 HTML 和 .js(更难的方法,如果这件事甚至可以做的话)

非常感谢您的进一步帮助!

额外编辑 - 代码

这是服务器端代码!

//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){

	res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
	res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
	res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
	res.setHeader('Access-Control-Allow-Credentials', true);
	
	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');
	
	//nsmrcek - custom code for accepting data from client side
	socket.on("message1",function(data){

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

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

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

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

	});

});




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

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

app.get("/home",function(req,res,next){
	//res.send("OK");
	//if fails path incorrect
	res.sendFile(path.join(__dirname + "/index.html"));
	//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 个客户端)上的按钮时单击其他客户端的情况

【问题讨论】:

    标签: javascript jquery html node.js tablet


    【解决方案1】:

    如果您创建了一个通过服务器运行的 websocket 连接并将按钮的更新状态推送到连接的客户端,这当然是可能的。如果没有看到您的代码,我无法给出详细的答案,但您可以从此处的 socket.io 文档开始,并在开始时提出更多问题。

    http://socket.io/

    【讨论】:

    • 是的,我正在使用 socket.io,我现在的问题是我可以从一个浏览器获取按钮 ID 并模拟点击另一个(我必须找到所有按钮 ID,就像100 个带有大量 HTML 和 .js 代码的按钮)或者您如何将按钮的更新状态推送到连接的客户端。很抱歉,我不能在这里放这么多代码(socket.io 版本 1.4.5)。我有 .js 中的游戏引擎,主菜单,它说明了有关 node-pushserver 的内容。我只需要知道在这种情况下使用什么代码,并且通过时间我会找到把它放在哪里(我想)。抱歉没有更具体
    • push.js 添加有问题
    • server.js 添加有问题
    猜你喜欢
    • 2012-03-14
    • 1970-01-01
    • 2017-02-01
    • 2011-01-09
    • 2013-01-29
    • 2015-10-31
    • 2019-03-31
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多