Unity + Firebase-Database [Ошибка] WebSocket: ws_0 - не удалось подключиться - PullRequest
0 голосов
/ 02 июня 2018

Кажется, я не могу найти рабочее решение этой ошибки, более полное:

018-06-01 10:33:09 PM [Ошибка] WebSocket: ws_0 - смогне подключен System.Net.Sockets.SocketException (0x80004005): Нет маршрута к хосту

2018-06-01 22:33:09 PM [Ошибка] WebSocket: ws_0 - WebSocketException во время рукопожатия Firebase.Database.Internal.TubeSock.WebSocketException: неизвестный хост: ########. Firebaseio.com ---> System.Net.Sockets.SocketException: нет маршрута к хосту

Обратите внимание , вышеупомянутые ошибки повторяются несколько раз каждую секунду, с увеличением ws_ # на единицу каждый раз

Unity 2018.1.1f1

База данных Firebase: все, что было новее, получено несколько дней назад

Бит кода:

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.
        }
    });
}

Ниже приведена моя попытка получить доступ к базе данных 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));

Набор правил: (должен разрешать для всех)

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Дополнительные примечания:

  • Аутентификация Firebase используется и работает безупречноТаким образом, я просто не могу управлять / обращаться к базе данных
  • Я использовал это в качестве моей основной ссылки: https://firebase.google.com/docs/database/unity/save-data
  • , используя сеть 3x и 4x, тот же результат
  • также Mono

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Исправлено в новой версии firebase_sdk_v6.2.1 за июль

0 голосов
/ 13 сентября 2018

Использование:

Unity Editor 2018.2.5f1 в OSX Sierra 10.12.6

сценарий Runtime 4.x

сценарий бэкэнд IL2CPP

уровень API4.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 отстает.

Чтобы обойти эту проблему, можно было отключить FirebaseDatabase.dll в ../Firebase/Plugins/Mono/ для платформы редактора, а затем включить одну FirebaseDatabase..dll прямо под ../Firebase/Plugins/ вместо этого.

Пока все хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...