Unity是否支持PHP会话?

时间:2019-05-27 14:50:43

标签: php unity3d

有人知道Unity是否支持PHP会话吗?

例如,假设用户在Unity中登录其帐户并通过WWW流提交登录信息。登录后,我在我的php脚本中分配了一个会话变量:$_SESSION['name]=name

我的问题是,当用户通过Unity提交另一个请求时,客户端仍将能够访问会话变量吗?

1 个答案:

答案 0 :(得分:2)

会话数据是来自与ID连接的数据库的数据,该ID用于客户端和服务器之间的通信。通常是cookie。

我不确定,但我非常相信WWW类将忽略/忘记cookie。

  1. Unity向PHP发送请求(仅包含您定义的数据)
  2. PHP设置与该会话相对应的cookie并响应请求
  3. Unity收到带有标题(以及标题中的cookie)的响应
  4. 重复

请注意:我没有测试过,这是理论上的,但是有根据的猜测。


建议的解决方案

您可以在Unity中建立的请求中设置标题。如果您保存响应中的标头,并且每次都将其添加到请求中,则您应该能够模仿您要查找的行为。所以基本上:

  1. Unity向PHP发送请求(标头= previousResponseHeaders)
  2. PHP读取标题并将Cookie连接到上一个会话并响应请求
  3. Unity收到带有标题(以及标题中的cookie)的响应
  4. 重复

您可以通过执行this之类的操作来设置标题:

var headers = new Dictionary<string,string>();
headers.Add("Cookie", "key=value; semicolon=separated");
WWW www = new WWW("https://example.com", null, headers);