Unity3d unitywebrequest函数出现未知错误

Unity3d unitywebrequest函数出现未知错误,unity3d,webrequest,unitywebrequest,Unity3d,Webrequest,Unitywebrequest,我正在做一个apk,当我在手机上运行它时,会出现以下错误 未知误差 但最奇怪的是,如果我在unity上运行它时它工作正常,我会使用下面的代码告诉我在手机上执行它时的错误是什么,因为在unity中它工作得非常完美 IEnumerator登录WWW表单 { 使用UnityWebRequest=UnityWebRequest.Posthttp://localhost:3000/login类型 { 产生返回webRequest.SendWebRequest; 如果webRequest.isNetwork

我正在做一个apk,当我在手机上运行它时,会出现以下错误

未知误差

但最奇怪的是,如果我在unity上运行它时它工作正常,我会使用下面的代码告诉我在手机上执行它时的错误是什么,因为在unity中它工作得非常完美

IEnumerator登录WWW表单 { 使用UnityWebRequest=UnityWebRequest.Posthttp://localhost:3000/login类型 { 产生返回webRequest.SendWebRequest; 如果webRequest.isNetworkError { Debug.LogwebRequest.error; advertencia.SetActivetrue; advertencia.GetComponent.text=webRequest.error+1; } 否则,如果webRequest.ishttperor { advertencia.SetActivetrue; advertencia.SetActivetrue; advertencia.GetComponent.text=webRequest.error+2; } 其他的 { SceneManager.LoadScenePrincipal; } } } 检查我的apk是否已连接到internet,如果它连接到internet,则使用以下代码显示文本

私有无效更新 { 如果Application.internetReachability==NetworkReachability.NotReachable { advertencia.SetActivetrue; Debug.LogError.检查internet连接!; } } 代码更加完整:

私有文本用户文本; 私有输入字段密码; 公开游戏对象广告; 私人无效启动 { userText=GameObject.FindUserInput.GetComponent; 密码=GameObject.FindPasswordInput.GetComponent; advertencia=GameObject.FindAdvertencia; advertencia.SetActivefalse; } //corrutina调用的函数 公开作废日志 { Debug.LogUsuario:+userText.text+\n contraseña:+password.text; WWWForm form=新WWWForm; form.AddFieldcodigo,userText.text; form.AddFieldcontrasena,password.text; StartRoutineLoginform; } 问题 您可以使用URL

http://localhost:3000/login
您正在尝试将web请求发送到主机localhost。这在Unity中的PC上起作用,因为PC是您试图联系的服务器

服务器没有在您的手机上运行,但您的手机正在尝试将请求发送到端口3000,这显然会失败

阅读更多关于

解决方案 用IP或您的服务器/PC实际拥有的IP替换本地主机,您应该不会有问题

要了解您电脑的IP地址,请使用

Linux/Unix:在终端调用ifconfig中 Windows:在CMD中调用ipconfig 当然,你的电脑和手机也必须在同一个网络中,或者至少要进行路由,这样你的手机才能以给定的IP/网络地址到达服务器/电脑


可能您还必须配置您电脑的防火墙,以允许该端口上的传入流量。

由于该社区是英语社区,因此我删除了西班牙语副本。请您添加一个完整的代码示例。。您提供的内容不多。错误是100%可重复还是间歇性的?间歇性的网络错误是意料之中的,您必须处理它,通常是通过重试您正在做的任何事情。@derHugo ready,再添加一点代码complete@RetiredNinja当我在手机上运行它时,它总是发生,但在unity中,它从未发生过手机需要https或安全策略来允许http。