有谁知道 Unity 是否支持 PHP session ?
例如,假设用户在 Unity 中登录他们的帐户并通过 WWW 流提交登录信息。登录后,我在我的 php 脚本中分配一个 session 变量:$_SESSION['name]=name
。
我的问题是,当用户通过 Unity 提交另一个请求时,客户端是否仍然能够访问 session 变量?
最佳答案
session 数据是来自连接到一个id的数据库的数据,用于客户端和服务器之间的通信。通常是一个 cookie。
我不能肯定地说,但我非常相信 WWW 类会忽略/忘记 cookie。
- Unity 向 PHP 发送请求(仅包含您定义的数据)
- PHP 设置与该 session 对应的 cookie 并响应请求
- Unity 获取带有 header 的响应(以及 header 中的 cookie)
- 重复
请注意:我没有对此进行测试,这是理论上的,但有根据的猜测。
建议的解决方案
您可以在您在 Unity 中构建的请求中设置 header 。如果您每次保存响应中的 header 并将其添加到请求中,您应该能够模拟您正在寻找的行为。所以基本上:
- Unity 向 PHP 发送一个请求(带有 headers = previousResponseHeaders)
- PHP 读取 header 并将您的 cookie 连接到之前的 session 并响应请求
- Unity 获取带有 header 的响应(以及 header 中的 cookie)
- 重复
您可以通过类似 this 的操作来设置标题:
var headers = new Dictionary<string,string>();
headers.Add("Cookie", "key=value; semicolon=separated");
WWW www = new WWW("https://example.com", null, headers);
关于php - Unity 是否支持 PHP session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56328316/