Cannot Push or Pull data between Firebase and Unity

267 views
Skip to first unread message

luke....@silversoftworks.com

unread,
Jan 22, 2018, 10:50:32 AM1/22/18
to Firebase Google Group
Hello All,

I have been googling this for a few hours now, searching through the google groups and just cannot find a solution. I created 2 simple buttons just to setup the pushing and pulling of data between Firebase and Unity. I could write to Firebase no problem, but then when I created the Read functionality, it worked the first time, but then ever since then, I have been getting this error repeated over and over until I stop running the app.

I also noticed that my Load percentage is at 100%. I am the only person using it and building the app. I am doing very simple requests and you can see from my code below the errors. Could anyone help me find a solution to this as I am a little stumped.


01/21/2018 23:33:07 [Error] WebSocket: ws_0 - could not connect
System.Net.Sockets.SocketException: Connection timed out
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] in <filename unknown>:0 
  at Firebase.Database.Internal.TubeSock.WebSocket.CreateSocket () [0x00000] in <filename unknown>:0 
UnityEngine.Debug:LogError(Object)
Firebase.Platform.FirebaseLogger:LogMessage(PlatformLogLevel, String)
Firebase.Unity.UnityLoggingService:LogMessage(PlatformLogLevel, String)
Firebase.Database.Internal.Logging.DefaultLogger:Error(String, String)
Firebase.Database.Internal.Logging.DefaultLogger:OnLogMessage(Level, String, String, Int64)
Firebase.Database.Internal.Logging.LogWrapper:Error(String, Exception)
Firebase.Database.Internal.TubeSock.WebSocket:LogError(String, Exception)
Firebase.Database.Internal.TubeSock.WebSocket:CreateSocket()
Firebase.Database.Internal.TubeSock.WebSocket:RunReader()
Firebase.Database.Internal.TubeSock.Runnable101:Run()
Google.Sharpen.Thread:InternalRun()

01/21/2018 23:33:07 [Error] WebSocket: ws_0 - WebSocketException during handshake
Firebase.Database.Internal.TubeSock.WebSocketException: unknown host: test-project-c3527.firebaseio.com ---> System.Net.Sockets.SocketException: Connection timed out
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] in <filename unknown>:0 
  at Firebase.Database.Internal.TubeSock.WebSocket.CreateSocket () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Firebase.Database.Internal.TubeSock.WebSocket.CreateSocket () [0x00000] in <filename unknown>:0 
  at Firebase.Database.Internal.TubeSock.WebSocket.RunReader () [0x00000] in <filename unknown>:0 
UnityEngine.Debug:LogError(Object)
Firebase.Platform.FirebaseLogger:LogMessage(PlatformLogLevel, String)
Firebase.Unity.UnityLoggingService:LogMessage(PlatformLogLevel, String)
Firebase.Database.Internal.Logging.DefaultLogger:Error(String, String)
Firebase.Database.Internal.Logging.DefaultLogger:OnLogMessage(Level, String, String, Int64)
Firebase.Database.Internal.Logging.LogWrapper:Error(String, Exception)
Firebase.Database.Internal.TubeSock.WebSocket:LogError(String, Exception)
Firebase.Database.Internal.TubeSock.WebSocket:RunReader()
Firebase.Database.Internal.TubeSock.Runnable101:Run()
Google.Sharpen.Thread:InternalRun()


public class firebaseDatabase: MonoBehaviour
{
 
DatabaseReference reference;


 
void Start()
 
{
   
// Set this before calling into the realtime database.
   
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://PROJECT-NAME-HERE.firebaseio.com/"); //inserted fake project name for this post


   
// Get the root reference location of the database.
    reference
= FirebaseDatabase.DefaultInstance.RootReference;
 
}


 
public void HoldNewUserName(String username)
 
{
 
PlayerPrefs.SetString("Username", username);
 
Debug.Log(PlayerPrefs.GetString("Username"));
 
}


 
public class User
 
{
     
public String name;
     
public String email;
     
public String Password;
 
}


 
public void newUser()
 
{


 
var obj = new User
       
{
     name
= "work", //PlayerPrefs.GetString("Username"),
     email
= "email",
     
Password = "password"
       
};


     
String json = JsonUtility.ToJson(obj);


     
Debug.Log("User = " + json);


     reference
.Child("Testing").Child("hello").SetRawJsonValueAsync(json);
 
}








 
public void pullData()
 
{
       
var getTask = reference.Child("Users").Child("hello").GetValueAsync();


       
StartCoroutine(ReadyData());


 
if(getTask.IsCompleted)
 
{
   
Debug.Log(getTask.Result.Value.ToString());
 
}
         
else
         
{
             
Debug.Log ("If Error");
         
}
 
}


 
IEnumerator ReadyData()
 
{
       
var getTask = reference.Child("Users").Child("testing").GetValueAsync();
 
yield return new WaitUntil(() => getTask.IsCompleted || getTask.IsFaulted);


 
if(getTask.IsCompleted)
 
{
   
Debug.Log(getTask.Result.Value.ToString());
 
}
 
else
 
{
         
Debug.Log ("If Error");
 
}
 
}
}

I would appreciate any help possible.

Luke

Reply all
Reply to author
Forward
0 new messages