c# - 服务器和统一应用程序之间的通信
问题描述
我正在使用统一开发一个 android 游戏。我有一个 pi-server(静态 ip、端口转发、apache 2、php、mysql 和 phpmyadmin 都设置好了),我想用它来存储我的应用程序中的分数以及检索排行榜的最高分数. 我应该使用什么代码来促进我想要的那种通信?更准确地说,我将如何通过 sql 代码发送到服务器并读取数据?
这是我第一次尝试做这种事情,如果这是显而易见的事情,很抱歉。其他信息:端口 80 设置为转发,数据库称为“game_scores”,表称为“highscore”,该表由 4 列组成:id、username、score 和 date。
解决方案
虽然可以让您的应用程序直接与服务器上的 MySQL 数据库通信(通过端口 3306,而不是端口 80),但促进这种连接的标准方法是实现在您的服务器上运行的 Web 服务 (REST API)服务器,侦听来自 Unity 应用程序的 HTTP 请求,并连接到数据库以使用所需的数据响应您的应用程序。通过 HTTP(或类似协议)与您的服务器通信创建了一个抽象层,允许您在将来更改或交换您的服务器或数据库实现,而无需更改客户端。这是一个看起来不错的教程,描述了如何使用 PHP 和 MySQL 创建一个简单的 REST API。在服务器上创建 REST API 后,您可以使用 Unity 从 Unity 向其发送请求统一网络请求。
推荐阅读
- node.js - 我想在 Model.find() 方法的 where() 中添加一个函数,但它在 Body 中包含拼写错误
- javascript - 使用jquery获取表格第一行每列单元格的宽度
- react-select - 反应选择 v2 包大小
- video - 如何使用ffmpeg降低gif的帧率
- mysql - 无法将时间戳“2018-03-25 03:58:31”插入 mysql
- html - Angular 6中的两种不同的html访问
- python - Python - 如何使 DataFrame 图不总是打印在单元格输出的底部?
- css - 样式不是从 angular.json 样式数组 angular 6 中挑选的,但是可以在 styles.css 中正常使用
- forms - 将表单从 https 提交到 http 时,iOS Mobile 上的 Safari 会挂起页面
- android - 我无法将预建库包含到 android studio