【问题标题】:What is the easiest way to save a String on a server在服务器上保存字符串的最简单方法是什么
【发布时间】:2016-08-05 21:31:36
【问题描述】:

我创建了一个游戏,现在我想添加一个全球高分。我想将高分保存在我的服务器上。我认为最简单的方法是在我的服务器上覆盖一个存储分数和顶级球员姓名的文本文件。我怎样才能做到这一点?游戏没有在我的服务器上运行!它在客户端运行。

【问题讨论】:

  • 那么问题是如何将字符串写入文件?你已经研究过了吗?
  • 你也可以只创建一个类 Highscore 并使其成为 Serializable。或者使用数据库。
  • 我知道如何写文件,但我不知道如何将它存储在服务器上。
  • 你应该在你的问题中澄清游戏没有在你的服务器上运行,对吧?
  • 抱歉,我忘了指明游戏不在服务器上运行。

标签: java linux server


【解决方案1】:

您可以租用一个简单的托管 PHP/MySql 并将分数保存在数据库中。

try { 
    URL url = new URL("http://exemple.com/saveScore.php");

    InputStream is = url.openStream();

    Scanner scanner = new Scanner(is);
    scanner.useDelimiter("\\A");

    String response = scanner.hasNext() ? scanner.next() : null;

    if (response == "ok") {
        System.out.println("Saved!");
    }
}
catch (IOException e) {
    e.printStackTrace();
}

saveScore.php中,保存后就可以打印了。

<?php

// DB OPERATIONS

echo "ok";
exit;

【讨论】:

    【解决方案2】:

    您可以像 flavio.donze 一样将其保存为平面文件,也可以使用数据库。

    因此,如果您想将其保存在服务器或其他地方,通常没有相关性。路径决定位置。

    如果您想将分数从客户端上传到服务器,您可以使用多种解决方案。

    F.e.添加每个 RMI 或 Web 服务调用

    【讨论】:

    • no 游戏不在服务器上执行。它在用户的本地机器上执行。
    • 尝试使用像 REST my-server-path/add/score 这样的网络服务 |放一些简单的东西
    【解决方案3】:

    以下是使用java.nio.file.Files 类将字符串写入文件的示例:

    try {
        String hightscore = "MyString";
        Files.write(new File("D:/temp/file.txt").toPath(), hightscore.getBytes());
    } catch (IOException e) {
        e.printStackTrace();
    }
    

    【讨论】:

    • 我需要将分数保存在服务器上。
    • 那么有很多答案,您可以与服务器发布的 Web 服务通信,通过 FTP 上传高分文件,也许您的服务器正在运行您可以连接到的 DBMS。 ..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2014-07-01
    • 2018-09-30
    • 1970-01-01
    • 2012-05-08
    • 2010-10-20
    • 2017-05-29
    相关资源
    最近更新 更多