Jump to content
Unity Insider Forum

Photon Chat Disconnect, welche Ursache?


creativeConny

Recommended Posts

Hallo zusammen,

ich habe eine grundsätzliche Frage zum Photon Chat Clienten:

 

Und zwar habe ich eine Szene für's Hauptmenü, in der die Spieler alle mit dem Photon Server und dem Chat Server verbinden. Anschließend lade ich synchron meine erste Szene (die Levelübersicht). Die Spieler können nach wie vor miteinander chatten. Dann wird per Click das 1. Level geladen, dabei wird das Chat Panel einfach ausgeblendet.

Wenn ich meinen "Zurück Knopf" drücke, dann wird wieder synchron zu meiner Levelübersicht zurückgekehrt und das Chat Panel blendet sich wieder ein, die Spieler können ganz normal miteinander schreiben.

Wenn ich nun aber in meinem 1. Level verschiedene Aktionen ausführe, wie bspw. das Instanzieren von Netzwerkobjekten, und dann meinen "Zurück Knopf" drücke, dann kehren alle Clienten zwar in die Levelübersicht zurück, disconnecten aber vom Chat Server. (Das zeigt mir eine Debug.Log Meldung in der Funktion "OnDisconnected".

 

Kann mir einer erklären, warum bzw. welche Aktionen dazu führen, dass der Chat Server die Verbindung verliert? Wieso klappt es, wenn ich "nichts mache? Gibt es spezielle Funktionen, die ihm dazwischen funken? Falls ihr weitere Infos oder Code benötigt, gebt gerne Bescheid!

Vielen lieben Dank!

EDIT: Es sieht nach weiterer Reproduzierung so aus, als wären meine "Aktionen" egal, sobald aber eine gewisse Zeit vergeht und ich den "Zurück Knopf" drücke, dann disconnected er beim zurückkehren in Level 1. :wacko:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oke, ich konnte das Problem inzwischen eingrenzen:

Beim Szenenwechsel schalte ich das Panel meines Chats durch SetActive(false) aus. Ich nehme an, dass das Script vom Chat nicht mehr weiter läuft und nach ein paar Sekunden ein timeout erzeugt wird, der zum disconnecten führt.

Was wäre denn jetzt die schlauste Möglichkeit, um das Chat Panel auszublenden, wobei dieses im Hintergrund noch weiterlaufen soll? :unsure:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Um meinen Monolog fortzuführen :D : 

Das Problem scheint gelöst! Es war programmtechnisch doof, dass mein Script auf dem UI Element lag, das ich ein oder ausblenden wollte.

In solchen Fällen sollte man das Script, sofern es bspw. im Hintergrund laufen soll, an ein leeres GameObject heften und von dort aus die UI Elemente "steuern".

Dann ist es möglich die UI Elemente ein und auszublenden, ohne dass der Chat Client aufgrund irgendwelcher timeout's die Verbindung verliert.

PS: Vielleicht hilft diese Lösung ja dem ein oder anderen - im Nachhinein erscheint mir die Lösung doch sehr simpel! -_-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...