Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 警告:无法发送消息。websocket不可用_C#_Unity3d_Firebase Realtime Database - Fatal编程技术网

C# 警告:无法发送消息。websocket不可用

C# 警告:无法发送消息。websocket不可用,c#,unity3d,firebase-realtime-database,C#,Unity3d,Firebase Realtime Database,在Unity中运行我的游戏,从同一个查询中,有时需要90秒到120秒才能从RTDB获取数据。当它发生时,我有时会这样 Cannot send message. websocket is not available UnityEngine.Debug:LogWarning(Object) Firebase.Platform.FirebaseLogger:LogMessage(PlatformLogLevel, String) (at Z:/tmp/tmp.YjzkX82xZ8/firebase/

在Unity中运行我的游戏,从同一个查询中,有时需要90秒到120秒才能从RTDB获取数据。当它发生时,我有时会这样

Cannot send message.  websocket is not available
UnityEngine.Debug:LogWarning(Object)
Firebase.Platform.FirebaseLogger:LogMessage(PlatformLogLevel, String) (at Z:/tmp/tmp.YjzkX82xZ8/firebase/app/client/unity/src/Unity/FirebaseLogger.cs:92)
Firebase.LogUtil:LogMessage(LogLevel, String) (at Z:/tmp/tmp.BahqeQHBdV/firebase/app/client/unity/proxy/LogUtil.cs:68)
Firebase.LogUtil:LogMessageFromCallback(LogLevel, String) (at Z:/tmp/tmp.BahqeQHBdV/firebase/app/client/unity/proxy/LogUtil.cs:76)
Firebase.AppUtilPINVOKE:PollCallbacks()
Firebase.AppUtil:PollCallbacks() (at Z:/tmp/tmp.BahqeQHBdV/firebase/app/client/unity/proxy/AppUtil.cs:32)
Firebase.Platform.FirebaseAppUtils:PollCallbacks() (at Z:/tmp/tmp.BahqeQHBdV/firebase/app/client/unity/proxy/FirebaseAppUtils.cs:33)
Firebase.Platform.FirebaseHandler:Update() (at Z:/tmp/tmp.YjzkX82xZ8/firebase/app/client/unity/src/Unity/FirebaseHandler.cs:205)
Firebase.Platform.FirebaseMonoBehaviour:Update() (at Z:/tmp/tmp.YjzkX82xZ8/firebase/app/client/unity/src/Unity/FirebaseMonoBehaviour.cs:45)
  • 我怀疑Win防火墙,但它会一直被封锁
  • 我在滞后期间跟踪了myApp.firebaseio.com,并完成了跟踪 在100毫秒内成功

环顾四周,我找不到任何有用的东西。有什么想法吗?

对我来说,解决的办法是把这行评论掉

dbRootRref.KeepSynced(true); 

回答起来并不容易。您能确保与服务器建立连接吗?例如,当问题发生时,是否有一条到目的地的
追踪路线。如果不是你的连接不稳定。可能是实时数据库删除了您的连接,或者websocket可能被其他人使用了,因为如果我等待2分钟,结果终于出来了,所以可以建立连接。当它出现时,我一次收到大约3倍的警告消息,就在我收到带有结果的DB回调之前。我在滞后期间跟踪了myApp.firebaseio.com,并在100毫秒内成功完成。如何查看我的websocket连接?我怀疑Win防火墙,但它会一直被封锁检查TCP视图()。由于没有足够的数据来分析您的问题,除了最佳猜测之外,它仍然不是真正可以解决的。TCP视图允许查看给定TCP端口上是否已经绑定了其他内容。可能存在一个实现问题,即同一端口上的前一个连接由其他端口保持,并且在允许进行当前连接的一段时间后超时。这可能是您的代码中的错误,或者问题可能完全不同。tcp视图显示Unity使用了十几个连接,其中一个是googleusercontent.com,但我看不到任何端口冲突。Auth连接正常,RTDB初始化正常,但在获取或发送数据时,会出现巨大的2-4分钟延迟。我修改了我的代码,发现即将退役的dbRootRref.KeepSynced(true);成功了。不知道为什么。谢谢你的时间,塞缪尔