我有一个我正在使用 Unity 构建的 Android 应用程序,它在一个简单的 python http 服务器(托管在 Digital Ocean Droplet 上)上记录信息。这是我戳服务器的协程:
IEnumerator pokeServer()
{
Debug.Log( "Establishing Server Connectivity..." );
using( var www = UnityWebRequest.Get( ServerURL ) )
{
Debug.Log( "Send Web Request" );
ServerStatus = ConnectionStatuses.AttemptingToConnect;
yield return www.SendWebRequest();
if( www.isNetworkError || www.isHttpError )
{
if( www.isNetworkError )
{
Debug.Log( "NETWORK ERROR: " + www );
}
else
{
Debug.Log( "HTTP ERROR: " + www );
}
ServerStatus = ConnectionStatuses.Unavailable;
}
else
{
Debug.Log( "Success! Server available!" );
ServerStatus = ConnectionStatuses.Connected;
}
}
}
如果我在 Unity 编辑器上运行它,一切正常。我可以毫无问题地从我的服务器获得响应。如果我在 Android 上构建并运行它,请求不会发送到我的服务器,我也不会收到任何错误消息。上面运行的代码的最后一行是“yield return www.SendWebRequest();”
我查看了logcat,没有错误。我的服务器从来没有收到任何请求。但是,如果我戳“ https://www.google.com ”,我确实会得到回应。这让我相信这是某种 http 与 https 的问题,但我不知道从哪里开始。这段代码已经为我工作了很长时间。任何建议都会非常受欢迎!