首页 > 解决方案 > 服务器和统一应用程序之间的通信

问题描述

我正在使用统一开发一个 android 游戏。我有一个 pi-server(静态 ip、端口转发、apache 2、php、mysql 和 phpmyadmin 都设置好了),我想用它来存储我的应用程序中的分数以及检索排行榜的最高分数. 我应该使用什么代码来促进我想要的那种通信?更准确地说,我将如何通过 sql 代码发送到服务器并读取数据?

这是我第一次尝试做这种事情,如果这是显而易见的事情,很抱歉。其他信息:端口 80 设置为转发,数据库称为“game_scores”,表称为“highscore”,该表由 4 列组成:id、username、score 和 date。

标签: c#mysqlunity3dserver

解决方案


虽然可以让您的应用程序直接与服务器上的 MySQL 数据库通信(通过端口 3306,而不是端口 80),但促进这种连接的标准方法是实现在您的服务器上运行的 Web 服务 (REST API)服务器,侦听来自 Unity 应用程序的 HTTP 请求,并连接到数据库以使用所需的数据响应您的应用程序。通过 HTTP(或类似协议)与您的服务器通信创建了一个抽象层,允许您在将来更改或交换您的服务器或数据库实现,而无需更改客户端。这是一个看起来不错的教程,描述了如何使用 PHP 和 MySQL 创建一个简单的 REST API。在服务器上创建 REST API 后,您可以使用 Unity 从 Unity 向其发送请求统一网络请求


推荐阅读