Unity의 모바일 웹GL이 서버에 데이터를 업로드하는 데 실패한 처리 방법
11232 단어 Unity 네트워크
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace WebTest0
{
public class WebTest : MonoBehaviour
{
#region
//
public ThisGameManager thisGameManager;
// Text
//public Text testText,testText0,testText1;
#endregion
#region
///
///
///
internal void ToSendString()
{
StartCoroutine(GetData());
}
///
///
///
///
IEnumerator GetData()
{
string hhh = "http://vredu.bit.edu.cn/bitvrlab/kehui/put?id=" + thisGameManager.peopleNumber + "&point=" + thisGameManager.thisScore.ToString("f0");
WWW www = new WWW(hhh);
yield return www;
if (www.error != null)
{
Debug.Log(www.error);
yield return null;
}
Debug.Log(www.text);
}
}
#endregion
}
2. 작성한 후 테스트를 해보니 컴퓨터 측의 웹gl는 데이터를 데이터베이스에 업로드할 수 있지만 모바일 측은 도저히 업로드할 수 없다.이게 좀 아팠어요. 그때 유니티의 웹gl이 정말 구덩이라고 생각해서 계속 JAVA와 테스트를 조율해서 도대체 무슨 문제인지 봤어요.3. 나중에 테스트를 통해 이런 쓰기 핸드폰 브라우저는 데이터 업로드를 지원하지 않는다는 것을 발견했다. JAVA 측은 쓰기 방법을 바꾸었고 Unity 쪽에서 데이터를 업로드하는 부분도 쓰기 방법을 바꾸었다. 코드는 다음과 같다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace WebTest0
{
public class WebTest : MonoBehaviour
{
#region
//
public ThisGameManager thisGameManager;
// Text
//public Text testText,testText0,testText1;
#endregion
#region
///
///
///
internal void ToSendString()
{
StartCoroutine(GetData());
}
///
///
///
///
IEnumerator GetData()
{
string hhh = "http://vredu.bit.edu.cn/bitvrlab/kehui/put/" + thisGameManager.peopleNumber + "/" + thisGameManager.thisScore.ToString("f0");
WWW www = new WWW(hhh);
yield return www;
if (www.error != null)
{
Debug.Log(www.error);
yield return null;
}
Debug.Log(www.text);
}
}
#endregion
}
4. 테스트를 통해 모바일 웹gl에서 데이터를 업로드할 수 없는 문제를 완벽하게 해결하고 프로젝트를 순조롭게 완성합니다.