Laden...

Wie kann ich eine Dateiänderung auf dem Server dem Client mitteilen und anzeigen?

Erstellt von blizzard vor 3 Jahren Letzter Beitrag vor 3 Jahren 1.235 Views
B
blizzard Themenstarter:in
33 Beiträge seit 2020
vor 3 Jahren
Wie kann ich eine Dateiänderung auf dem Server dem Client mitteilen und anzeigen?

Hallo ich habe folgendes problem..

Ich habe eine XML datei die auf einem server liegt diese datein kann ich so wie ich sie brauche auch auslesen jedoch wenn sich werte in der XML datei ändern wird dieses nicht an denn client weiter gegeben.

aus MonoBehaviour kenne ich es so das ich abfragen in die Update methode packen kann und Das Update bei jedem Frame aufgerufen wird.

wie kann ich dies in visual studio realisieren ohne das MonoBehaviour.

ich habe bis jetzt noch nichts versucht da ich nicht weißt was Ressourcen freundlich ist

16.806 Beiträge seit 2008
vor 3 Jahren

Du willst Deine UI aktualiseren, sobald sich Informationen auf dem Server ändern?
Da hilft Dir auch ein MinoBehavior nicht.

Notwendig ist da zuerst mal eine dauerhafte Verbindung vom Server zum Client, damit Du eine entsprechende Information bekommst.
Dafür verwendet man zB. WebSockets - und dafür entwickelt man entsprechend eine Server-seitige Applikation, zB. mit ASP.NET Core.

B
blizzard Themenstarter:in
33 Beiträge seit 2020
vor 3 Jahren

/edit ich muss dazu sagendas ich eine Öffentliche anwendung erstellen möchte. 😃

meinst du damit einen Webservice ?

16.806 Beiträge seit 2008
vor 3 Jahren

Was ist eine "öffentliche Anwendung" ? Ne Webanwendung?

Spielt auch keine Rolle: Du brauchst eine Information vom Server, wenn sich etwas auf dem Server ändert.
Schwarze Magie gibts in .NET nicht 😉

B
blizzard Themenstarter:in
33 Beiträge seit 2020
vor 3 Jahren

Was ist eine "öffentliche Anwendung" ? Ne Webanwendung?

Die anwendung kann man wenn sie denn mal fertig ist im internet downloaden
darum ist mir wichtig das im quellcode keine klartext passwörter vorhanden sind oder sonstige
sicherheitsrelativen informationen. deshalb arbeite ich mit php und xml datein.

Spielt auch keine Rolle: Du brauchst eine Information vom Server, wenn sich etwas auf dem Server ändert.

Die XML datei die ich auf dem server abrufen möchte wird vom server wenn ein event eintritt geändert und genau diese veränderung möchte ich in der UI abrufen 😉

<Server>
    <Slots capacity="16" numUsed="1">
        <Player isUsed="true" isAdmin="false" uptime="161">Update</Player>
        <Player isUsed="true" isAdmin="false" uptime="141">update2</Player>
        <Player/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
        <Player isUsed="false"/>
    </Slots>
</Server>

ich bin jetzt etwas verwirrt xD

Also wie realisiere ich das am besten hast du eventuell Beispiel links?

Schwarze Magie gibts in .NET nicht 😉

das will ich hoffen xD

W
955 Beiträge seit 2010
vor 3 Jahren

Kann der Server denn Push-Nachrichten versenden?

B
blizzard Themenstarter:in
33 Beiträge seit 2020
vor 3 Jahren

Kann der Server denn Push-Nachrichten versenden?

nicht das ich wüsste es ist ein handelsüblicher linux server mit webserver und ftp zugang ^^ 😃

B
blizzard Themenstarter:in
33 Beiträge seit 2020
vor 3 Jahren

Okay also ich muss leider noch mal fragen da ich, das hier leider nicht so ganz verstanden habe.

Ich habe einen Webservice der mir die Daten in JSON liefert ( http://www.api.domain.de/controller/task.php ) in diesem Beispiel verwende ich jetzt mal die Tasks. (zuvor XML)

Sollte jetzt jemand einen Task hinzufügen so soll die UserControll.cs erkennen ah okay die JSON hat eine neue Aufgabe also zeige ich diese an.

Wie bekomme ich die userControll.cs z. B. nach einem Eintrag automatisiert aktualisiert

T
2.219 Beiträge seit 2008
vor 3 Jahren

Den Ansatz dazu hast du doch schon bekommen.
Nutzt Websockets um die Daten direkt an die Clients zu senden.
Nur so kannst du sinnvoll die Daten aktuell halten.
Das wäre dann auch der Push Ansatz den ich dir empfehlen würde.
Durch Pushen bekommen alle Verbundenen Clients einfach die aktuelle Liste, wenn es eine Änderung auf dem Server gab.

Alternativ ginge noch der Pull Ansatz, ist aber nicht zu empfehlen.
Dazu müsste jeder Client regelmäßig die Daten abfragen und bei sich abgleichen.
Führt aber zu CPU und Netzwerklast auf beiden Seiten und mit jedem Client zusätzlich kann das irgendwann zu viel werden.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.