Visual Basic Variablen/Dateien auf einem Server speichern (kein FTP!)

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von mrwebber.

    Visual Basic Variablen/Dateien auf einem Server speichern (kein FTP!)

    Hallo :)
    Also ich suche eine Möglichkeit, Variablen und Dateien auf einem Server zu speichern mittels Visual Basic Code. Ich möchte aber kein FTP, da es nicht zu meiner Anwendung passt. Damit meine ich folgendes:

    Ich habe zwei Programme und einen Server. Die beiden Programme komunizieren miteinander über den Server. Auf dem Server ist eine Variable gespeichert (status.txt). Sie hat den Wert (Inhalt) "0".
    Programm1 lädt sich alle 10 Sekunden die Variable runter, konvertiert sie in einen String, und wenn die Variable = "1" ist, dann weiß das Programm1, das Programm2 gerade online ist. :D

    Das Problem wieso ich jetzt kein FTP nutzen kann ist folgendes: Wenn Programm2 gerade online ist, und den wert der variable von "0" auf "1" ändert, aber Programm1 zur gleichen Zeit den String downloadet, entsteht ein Fehler im Programm!

    Ich brauche entweder eine Lösung wie man das per FTP machen kann, oder wie man es anders realisieren kann!

    Lg Mr.Bodega
    Try um den Code der die Variable im Programm1 holt (ich denke da ist der Fehler), wenn dann der Fehler kommt "ignorierst" du ihn und machst von vorne weiter, also nach 10s holst du dir wieder die Variable.
    Intel i7-4710HQ |Nvidia GTX 860M | 1TB SSHD| 8GB RAM 1600Mhz :saint:
    Intel Core Duo2 | 320GB | 4 GB RAM | Linux Debian :D
    AMD E-350 | 320GB| 6GB RAM :thumbdown:
    Also mit Try habe ichs schon gemacht. Das Programm stürzt damit nicht ab. Aber alles was unter "Catch ex As Exception" steht wird nicht ausgeführt. Das Programm hängt sich (aber nicht sichbar) auf.
    Oh man das ist so deprimierend -_-
    Lg Mr.Bodega

    Quakxi schrieb:

    Try um den Code

    Nö. Die IDE meldet alle Fehler am Besten selbst, da ist das Try nicht nötig, zumal es oft falsch eingesetzt wird und der StackTrace erstmal komplexer ist, als wenn man direkt die IDE dahin springen lässt.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Mr.Bodega schrieb:

    Wenn Programm2 gerade online ist, und den wert der variable von "0" auf "1" ändert
    Mit welcher Technik veränderst du die Daten auf dem Server?
    Direkt vom Client? Über PHP oder sonst eine serverbasierte Variante?
    Oder ist das ein Server innerhalb des lokalen Netzwerks?

    Kannst du uns mal den Code-Ausschnitt zeigen, wie du die Veränderung schreibst?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo :) Hier der Code von Programm 1: Das Programm überprüft alle 10 Sekunden welchen Status Programm2 hat.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim web As New Net.WebClient
    3. Dim Status As String
    4. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    5. Timer1.Stop()
    6. Try
    7. web.Credentials = New Net.NetworkCredential("Benutzername", "Passwort")
    8. Status = web.DownloadString("meinftpserver")
    9. If Status = 1 Then
    10. Label_Status.text = "Online"
    11. Else
    12. Label_Status.text = "Offline"
    13. End If
    14. Timer1.Start()
    15. Catch ex As Exception
    16. MsgBox("Ein Fehler ist aufgetreten.", MsgBoxStyle.Exclamation)
    17. Timer1.Start()
    18. End Try
    19. End Sub
    20. End Class


    Also ich nutze bis jetzt FTP dafür.
    Jetzt ist das Problem, dass wenn Programm1 die status.txt downloaded aber Programm2 gerade startet und die Datei auf dem Server überschreibt, ein Fehler entsteht. Programm1 und Programm2 hängen sich komplett auf. Mit oder ohne Try :/

    Lg Mr.Bodega
    Moin :)
    So eben habe ich eine elegante Lösung mit TCP gefunden :D Klappt wunderbar :) Ich versteh zwar nichts vom Code, weis aber wie ich ihn in mein Programm einbinden kann :) Über PHP hatte ich auch schon vor deinem Beitrag nachgedacht, da ich auch einen kleinen Webserver mit Portfreigabe und DynDns habe (RaspberryPI).
    Lg Mr.Bodega