N1T*_*Y3R 3 c# unity-game-engine firebase firebase-realtime-database
我似乎无法找出解决此错误的更完整的解决方案:
018-06-01 10:33:09 PM [错误] WebSocket:ws_0-无法连接 System.Net.Sockets.SocketException(0x80004005):主机没有路由
2018-06-01 10:33:09 PM [错误] WebSocket:ws_0- 握手过程中的WebSocketException Firebase.Database.Internal.TubeSock.WebSocketException:未知主机:########。firebaseio.com-> System.Net.Sockets.SocketException:没有路由到主机
请注意,上述错误每秒重复几次,并且ws_#每次递增1
Unity 2018.1.1f1
Firebase-Database:几天前获得的最新信息
代码位:
void Start() {
FirebaseApp.LogLevel = LogLevel.Verbose;
FirebaseDatabase.DefaultInstance.LogLevel = LogLevel.Verbose; // Or your database instance, if not using the default.
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
var dependencyStatus = task.Result;
if (dependencyStatus == Firebase.DependencyStatus.Available) {
FirebaseApp app = FirebaseApp.DefaultInstance;
// NOTE: You'll need to replace this url with your Firebase App's database
// path in order for the database connection to work correctly in editor.
app.SetEditorDatabaseUrl("https://########.firebaseio.com/");
if (app.Options.DatabaseUrl != null) app.SetEditorDatabaseUrl(app.Options.DatabaseUrl);
} else {
Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
}
Run Code Online (Sandbox Code Playgroud)
以下是我尝试访问Firebase数据库的尝试
DatabaseReference mDatabaseRef = FirebaseDatabase.DefaultInstance.RootReference;
staticLocalData.thisUser = new UserData();
staticLocalData.thisUser.userID = newUser.UserId;
staticLocalData.thisUser.email = email;
staticLocalData.thisUser.firstName = firstName;
staticLocalData.thisUser.lastName = lastName;
registerData temp = new registerData();
temp.firstName = firstName;
temp.lastName = lastName;
temp.email = email;
temp.userName = userName;
Debug.Log(JsonUtility.ToJson(temp));
mDatabaseRef.Child("users").SetValueAsync("saddsa:23");
//mDatabaseRef.Child("users").Child(newUser.UserId).SetRawJsonValueAsync(JsonUtility.ToJson(temp));
Run Code Online (Sandbox Code Playgroud)
规则集:(应允许所有)
{
"rules": {
".read": true,
".write": true
}
}
Run Code Online (Sandbox Code Playgroud)
附加条款:
使用方法:
OSX Sierra 10.12.6上的Unity Editor 2018.2.5f1
脚本运行时4.x
脚本后端IL2CPP
API等级4.x
Firebase插件版本5.2.1
发生了完全相同的问题。这似乎与Mono Websocket的实现有关,如以下问题所示:
https://github.com/firebase/quickstart-unity/issues/106
https://github.com/firebase/quickstart-unity/issues/162
Firebase开发团队通过为每个平台提供自己的本机websocket实现来解决此处描述的问题。显然,Unity Editor的实现滞后了。
解决此问题的方法是通过在编辑器平台的../Firebase/Plugins/Mono/下禁用FirebaseDatabase.dll,然后直接在../Firebase/Plugins/下启用一个FirebaseDatabase.dll。
到目前为止,一切都很好。
| 归档时间: |
|
| 查看次数: |
3433 次 |
| 最近记录: |