因此,我有一个Raspberry Pi 4,并且我试图从JSON文件接收数据并将其显示在我网站上的text元素上。抱歉,如果我完全错了,那是我第二天带着Raspberry Pi。感谢w3schools,我做了一些基本的事情,例如打开LED。我试图为自己制作一个机器人托管工具,它将在电视上显示托管量
index.html:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="index.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>
</head>
<body>
<div class="container">
<h1>Bots Hosted:</h1>
<h2 id="bot-qty">0</h2>
</div>
</body>
<script>
var socket = io();
window.addEventListener("load", function() {
var bot_count = document.getElementById("bot-qty");
var times_ran = 0;
const interval = setInterval(function() {
socket.emit("request-count", times_ran);
times_ran++;
}, 20000);
})
socket.on('request-count', function(data) {
document.getElementById("bot-qty").innerText = data;
})
</script>
</html>
webserver.js:
var http = require('http').createServer(handler);
var fs = require('fs');
var io = require('socket.io')(http);
http.listen(1337);
function handler(req, res) {
fs.readFile(__dirname + '/public/index.html', function(err, data) {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/html' });
return res.end("404 Not Found");
}
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(data);
return res.end();
});
}
io.sockets.on('connection', function(socket) {
socket.on('request-count', function(data) {
var bot_count = JSON.parse(fs.readFileSync("config.json", "utf8"));
console.log(bot_count);
socket.emit('request-count', bot_count);
});
});
在控制台中,它说
GET <long_url_here> net::ERR_NAME_NOT_RESOLVER
答案 0 :(得分:0)
在index.html
中,您通过编写来初始化新的Socket
实例
var socket = io();
您没有提供任何url,因此socket.io-client将使用默认的window.location
,如here所示。这可能是个问题,因此请尝试设置特定的网址,例如。 g。
var socket = io('http://localhost');
或(也指定端口)
var socket = io('http://localhost:1337');
还要尝试确保您在打开网站之前用webserver.js
运行node webserver.js
。
另请参见GitHub上的this discussion。