Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否使用Unity3d连接到MySQL服务器?_C#_Android_Mysql_Unity3d_Odbc - Fatal编程技术网

C# 是否使用Unity3d连接到MySQL服务器?

C# 是否使用Unity3d连接到MySQL服务器?,c#,android,mysql,unity3d,odbc,C#,Android,Mysql,Unity3d,Odbc,我正在尝试创建一个Android游戏,需要发送信息存储在远程数据库中。MySQL数据库存储在我大学的服务器上,我通常通过SSH访问该服务器。我现在想做的是使用ODBC连接到数据库,但是我很难让它与Unity3d(C#)交互。如果有人有这方面的经验,我将感谢任何帮助或方向,让我通过这个障碍 Unity Wiki已经用PHP、MySql和C#/JavaScript定义了一个完整的过程()。希望这能解决你的问题 推荐的解决方案不是直接将应用程序与数据库连接,而是通过某一层API或后端服务来实现 最简单

我正在尝试创建一个Android游戏,需要发送信息存储在远程数据库中。MySQL数据库存储在我大学的服务器上,我通常通过SSH访问该服务器。我现在想做的是使用ODBC连接到数据库,但是我很难让它与Unity3d(C#)交互。如果有人有这方面的经验,我将感谢任何帮助或方向,让我通过这个障碍

Unity Wiki已经用PHP、MySql和C#/JavaScript定义了一个完整的过程()。希望这能解决你的问题

推荐的解决方案不是直接将应用程序与数据库连接,而是通过某一层API或后端服务来实现

最简单的方法之一是使用,如果你的流量不是很大,这是免费的

示例代码:

ParseObject gameScore = new ParseObject("GameScore");
gameScore["score"] = 1337;
gameScore["playerName"] = "Sean Plott";
Task saveTask = gameScore.SaveAsync();

另一个类似的云存储或服务可能是,它为您提供读/写自己的数据。用法示例:

public class Item
{
    public Guid Id { get; set; }
    public string Name { get; set; }  
    public string Value { get; set; }
}

var data = new Item(...); // or List<Item>() whatever
var str_data= JsonConvert.SerializeObject<Item>(data);
Firebase fb = new Firebase(new Uri("https://abcdefg.firebaseio.com/"));

//Write
string path = "/path";    // where to keep data in firebase
string id = fb.Post(path, data);

//Read back
string jsonData = fb.Get(path); 
var data2 = JsonConvert.DeserializeObject<Item>(jsonData);
公共类项目
{
公共Guid Id{get;set;}
公共字符串名称{get;set;}
公共字符串值{get;set;}
}
变量数据=新项目(…);//或者List()什么的
var str_data=JsonConvert.serialized对象(数据);
Firebase fb=新Firebase(新Uri(“https://abcdefg.firebaseio.com/"));
//写
字符串路径=“/path”;//firebase中的数据保存位置
字符串id=fb.Post(路径、数据);
//重读
字符串jsonData=fb.Get(路径);
var data2=JsonConvert.DeserializeObject(jsonData);

这个问题有两个问题,Mono上的MySQL客户端,特别是.Net 3.5 Unity子集上的MySQL客户端,因其对MySQL和数据库的支持较差而臭名昭著。第二个问题是,为什么要直接连接到数据库?这是一个巨大的安全风险,可以通过一个API来解决,该API使用所选语言(PHP、uby、Python等)编写。您的示例rlink在服务器和客户端上都使用密钥,这是一个安全问题,因为反编译客户端应用程序很容易。如果安全性很重要,请不要执行此操作!那你打算怎么做?没有硬编码的钥匙。用户提交用户名和密码,并从服务器获取令牌/密钥/会话ID-此密钥对于用户是唯一的,无法从代码中获取。(就像web上的每个auth系统一样)最终我建议的解决方案将被使用,但需要auth实现。