我正在使用 Unity 开发一款 Android 游戏。我有一个 pi 服务器(静态 IP、端口转发、apache 2、php、mysql 和 phpmyadmin 均已设置),我想用它来将我的应用程序的分数存储到其中,并检索排行榜的最高分数。我应该使用什么代码来促进我想要的通信?更准确地说,我如何将sql代码发送到服务器并读取数据?
这是我第一次尝试做这种事情,如果这是显而易见的事情,很抱歉。其他信息:端口80设置为转发,数据库名为“game_scores”,表名为“highscore”,该表由4列组成:id、username、score和date。
最佳答案
虽然您的应用程序可以直接与服务器上的 MySQL 数据库通信(through port 3306,而不是端口 80),但促进这种连接的标准方法是实现一个 Web 服务(REST API),该服务在您的服务器上运行,监听来自 Unity 应用程序的 HTTP 请求,并连接到数据库以使用其所需的数据响应您的应用程序。通过 HTTP(或类似协议(protocol))与服务器通信会创建一个抽象层,允许您将来更改或交换服务器或数据库实现,而无需更改客户端。 Here's a decent-looking tutorial描述了如何使用 PHP 和 MySQL 创建简单的 REST API。在服务器上创建 REST API 后,您可以使用 UnityWebRequest 从 Unity 向其发送请求。 .
关于c# - 服务器和 Unity 应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55668172/