首页 > 解决方案 > 访问和修改服务器端高分文件的正确方法是什么?

问题描述

我正在为我的 Raspberry PI Web 服务器制作一个 JavaScript 游戏作为学校项目。我将高分图表作为 JSON 文件。我正在使用 getJSON 调用将其更新到客户端,该调用有效。当达到新的高分时,我应该如何做写作部分?我正在学习 nodejs、ajax 和 websockets,但在查找信息时遇到了问题。

我想学习如何安全地做这种事情,而无需在 PI 中打开太多权限。

标签: javascriptnode.jsajaxraspberry-pi

解决方案


您可以将当前分数保存在对象服务器端。

每次您的客户端将更新的分数发送回服务器时,您都可以更新此内存中的分数对象,然后将其写入文件以将其保存。

这是一个将当前分数保存到文件然后重新加载该文件的示例:

var fs = require('fs');

var currentScores = [
    {initials: 'JDH', score: 10000},
    {initials: 'HMH', score: 9000},
    {initials: 'DDE', score: 7000}
];

const ScoresFile = './scores.json';



function SaveScores(scores) {
    var jsonData = JSON.stringify(scores);

    fs.writeFileSync(ScoresFile, jsonData);
}


function LoadScores() {
    var jsonData = fs.readFileSync(ScoresFile);
    var loadedScores = JSON.parse(jsonData);

    return loadedScores;
}

SaveScores(currentScores);
var a = LoadScores();
console.log(a);

推荐阅读