Programm über Website steuern und Befehle senden

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von OneWorld.

    Programm über Website steuern und Befehle senden

    Guten Abend,

    Ich arbeite momentan an einem kleinem Interface für mein Programm und da wollte ich fragen, ob es eine anderen Möglichkeit gibt als diese hier [Vb.net]: Programm via Internet Steuern. Wenn ich es nach diesem Beispiel machen würde, müsste ich immer einen oder mehrere Timer laufen lassen, die dann die Seite herunterladen und die Informationen auswerten. Diese Methode scheint mir nicht ganz so gut zu sein. Daher wollte ich fragen, ob das anders besser geht. Natürlich für Vorschläge offen und für jede Hilfe dankbar ;)

    Gruß OneWorld
    Youtube Info Library 2013 jetzt im Showroom.
    Nun, wollte ich mein Programm per Browser steuern wollen, so würd ich mir nen kleinen, auf die jeweiligen Erfordernisse zugeschnittenen, Server schreiben.

    Zur Übung schau Dir am besten mal das HTTP-Protokoll an, erstell Dir einfach nen Socket, versetz ihn in den Listen-Modus und lass den Browser sich verbinden. Die Ausgabe, bzw. Anfrage des Browsers musst Du Dir natürlich ausgeben lassen.

    Vergiss hier das Thema Sicherheit nicht, schütze den Server durch ein Passwort.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Ok erstmal danke für die Hilfe. Das Thema Sicherheit steht natürlich an erster Stelle.

    @enIking1998 WT** NEIN das Programm soll meinen NUR meinen PC zuhause steuern sonst nichts.. :D

    @SpaceyX kennst du gute Tuts, weil ich noch keine Erfahrung mit Sockets und dem HTTP-Protokoll habe. Ich werde mich sofort drann setzen und auch selber welche suchen (aber 2 Augen sind immer besser als eins ;) ) und das ganze mal durchstöbern.

    [Edit]: Ich habe das hier gefunden taugt das was ? : Vb-Paradise.de
    Youtube Info Library 2013 jetzt im Showroom.
    Ist zwar echt scheiße aber ich habs mal so gemacht das ich etwas auf meine Seite geschrieben hab. Und dann beim Programm nen Webbrowser eingefügt hab und dann das hier :

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementByID(ID)


    Ist zwar einfach zu machen aber ist eben scheiße !
    Nunja ich habe das im Moment so gemacht wie in meinem ersten Post der Link, was eigentlich nicht gut ist finde ich. Ich habe momentan eine Website, die für Mobilgeräte optimiert ist. Wenn ich dann z.b Hallo in eine Textbox auf der Website eingebe soll dann auch im Programm in einer Textbox oder in einem Label what ever dann Hallo stehen. Es soll aber auch anders rum funktionieren, also Befehle an die Website senden.
    Youtube Info Library 2013 jetzt im Showroom.
    Ich mag keine Youtubevideos :D Ich schreib mein Kram lieber selber ;) Aber danke für die Arbeit das rauszusuchen.

    [Edit]:

    Ich hatte noch ein Projekt in dem ein Server drinne war. Ich hab ihn gestartet und hab mich dann mit dem Webbrowser dann auf die IP Adresse "verbunden".
    Das was dann in der Konsole steht ist im Bild unten. Meine Frage: was soll ich als nächstes tun ?
    Bilder
    • Server.jpg

      74,69 kB, 677×342, 367 mal angesehen
    Youtube Info Library 2013 jetzt im Showroom.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „OneWorld“ ()

    Push: ok wenn ich jetzt einen Befehl via PHP an meinen Server sende wird dieser auch empfangen und mein Programm reagiert entsprechend. Nur wie kann ich jetzt auch welche an das PHP Script senden, sodass sich z.b wenn das Programm gestartet ist ein Schriftzug sich bildet wo dann z.b erreichbar steht ?
    Youtube Info Library 2013 jetzt im Showroom.
    Der Browser überträgt in seiner Anfrage, das was er gerne haben will. Gibst Du in die Adresszeile Deines Browsers z. B. ein:

    http://localhost:999/command=pressButton1


    So steht in der ersten Zeile der Anfrage z. B. das....

    GET /command=pressButton1 HTTP/1.1


    Das kannst Du auswerten und auf das übertragene Kommando reagieren....

    Überleg Dir eine Art "Protokoll" und vergiss die Sicherheit dabei nicht...
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Guten Tag,

    Sry das ich den Thread nochmal ausgrabe. Ich habe jetzt einen Server. Der lauscht auf Port 8000, ob das PHP Script ihm jetzt einen Befehl zusendet. Nur jetzt habe ich das Problem, dass ich nur einen Befehl empfangen kann. Hier mein Code:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.IO
    3. Imports System.Net
    4. Module Module1
    5. Private server As TcpListener
    6. Private client As New TcpClient
    7. Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000)
    8. Private Structure Connection
    9. Dim stream As NetworkStream
    10. Dim streamw As StreamWriter
    11. Dim streamr As StreamReader
    12. End Structure
    13. Sub Main()
    14. Console.WriteLine("Der Server läuft!")
    15. server = New TcpListener(ipendpoint)
    16. server.Start()
    17. While True
    18. client = server.AcceptTcpClient
    19. Dim c As New Connection
    20. c.stream = client.GetStream
    21. c.streamr = New StreamReader(c.stream)
    22. c.streamw = New StreamWriter(c.stream)
    23. If c.streamr.ReadLine = "Befehl1" = True Then
    24. Console.WriteLine("Befehl 1 Empfangen")
    25. ElseIf c.streamr.ReadLine = "Befehl2" = True Then
    26. Console.WriteLine("Befehl 2 Empfangen")
    27. End If
    28. End While
    29. End Sub
    30. End Module


    Auf meinem Xampp Server liegen zwei PHP Dateien. Die eine sendet Befehl1 und die andere Befehl2. Jetzt wird aber nur Befehl1 immer empfangen, aber Befehl2 nicht. Ich denke es leigt am Server. Kann mir jemand sagen, was ich da falsch mache ?

    Hier mal der Code von der PHP - Datei:

    PHP-Quellcode

    1. <?php
    2. $errno = NULL;
    3. $error = NULL;
    4. if (!$handle = @fsockopen("localhost", "8000", $errno, $error, 10))
    5. {
    6. die("Fehler (".$errno."): ".$error);
    7. }
    8. fwrite($handle, "Befehl1\r\n");
    9. fclose($handle);
    10. echo "Versendet"
    11. ?>


    [EDIT]: Hat sich erledigt Problem gelöst..

    Gruß OneWorld
    Youtube Info Library 2013 jetzt im Showroom.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „OneWorld“ ()