这是我在 stackoverflow 上发表的第一篇文章,所以如果我发表的文章已经存在,请原谅我。我是 HTML 和 .js 的新手,“懂基础的家伙”。
我在平板电脑上有一个具有 kisok 模式浏览器的移动应用程序,我正在使用它连接到我在 RPI 上的 NodeJS 服务器(有效)。我的项目中已经有很多 HTML 和 .js 文件。
我想知道的是:
是否可以制作新的单独的 HTML 或 .js 文件来执行类似远程控制我的平板电脑到服务器的操作。示例 - 当我单击一个按钮时,在 RPI 上的浏览器上单击了相同的按钮,因为我在 RPI 上有另一个单独的显示,显示相同的东西,我只会将我的平板电脑用作 HTML 的 getter(这样我可以在平板电脑上显示它)和RPI 的输入法。 (同时在两个显示器上但使用平板电脑作为输入)
或者在服务器端更新所有现有的 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 个客户端)上的按钮时对每个其他客户端的点击
最佳答案
如果您创建了一个通过您的服务器运行的 websocket 连接,并将按钮的更新状态推送到连接的客户端,这当然是可能的。如果没有看到您的代码,我无法给出详细的答案,但您可以从此处的 socket.io 文档开始,并在开始时提出更多问题。
关于javascript - Node.js 服务器在浏览器上完成与移动设备相同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38528561/