Grundgerüst WebInterface

    • VB.NET

      Grundgerüst WebInterface

      Hallo! Da mein erster Thread leider vorzeitig abgeschickt wurde, schreibe ich hier!!

      Es geht heute um ein WebInterface. Viele kennen den TS² und TS³ Server: ein schönes Webinterface! Nun, wer sich einen Server "gebastelt" bzw. programmiert hat und der es professionell gehostet hat, ist hier erstmal richtig. Da man ein Programm schlecht warten lässt, wo man das ganze UI nicht sehen kann muss man per SSH arbeiten. Wer das ganze mit der Konsole zu schwierig oder sonst was ist sollte sich ein Webinterface programmieren! (Wer nicht weiss was ein Webinterface:
      http://de.wikipedia.org/wiki/Webschnittstelle)

      Vorraussetzungen:

      - Einen Webspace/Root etc. mit PHP UND ganz wichtig!! fsockopen() muss aktiviert sein. Oder auf dem Root laufen lassen, wo der Server sowieso läuft.

      - Ein Grundwissen, bzw. programmierfähig einen Server umzuschreiben!!

      - Ein Serverprogramm wo man die Source hat!!

      Vorteilhaft wäre ein bisschen die Grundlagen von PHP, wie Datentypen, If-Abfrage und Variablen (etc.)

      Die "Core":

      Wir arbeiten hier mit PHP und deswegen, da es keinen Eventhandler oder sonstiges gibt, ein HTML-Formular erstellen. Dazu auch noch die sogenannte Core, so nenn ich das mal.

      Die "Core" ist dafür zuständig, Funktionen auszuführen etc. So könnte eine Core aussehen:

      PHP-Quellcode

      1. <?php
      2. // Das ist der core.php, diese Core dient dazu, einen User zu kicken! //
      3. $user = $_Get['user']; //variable $user wird von GET zugewiesen
      4. $errno = NULL;
      5. $error = NULL;
      6. if (!$handle = @fsockopen("127.0.0.1", "8000", $errno, $error, 10)) // Es wird versucht die verbindung aufzubauen!!
      7. {
      8. die("Fehler (".$errno."): ".$error); //Fehler wird ausgegeben
      9. }
      10. fwrite($handle, "|WEBINTERFACEin.te.rf.ac.e\r\n"); // schreibt die Authentifizierung
      11. fwrite($handle, "|WEBINTERFACEin.te.rf.ac.e\r\n"); // "
      12. fwrite($handle, "|kick $user\r\n"); // schreibt den eigentlichen Befehl, hier "|kick userx"
      13. fclose($handle); //verbindung wird geschlossen.
      14. ?>


      Das war ein Beispiel für eine Core.

      Modifizierung am Server:

      Wir müssen hier eine Veränderung am Server durchführen, da sonst das ganze nicht klappt. Wenn ihr Benutzer des TCP-Server-Beispieles von kevin89 seid, hier wird das angewendet:

      In die Sub ListenToConnection()

      VB.NET-Quellcode

      1. If con.nick = ("|WEBINTERFACEin.te.rf.ac.e") Then ''Hier wird der Benutzername überprüft der hier im Bsp von oben halt |WEBINTERFACEin.te.rf.ac.e ist.
      2. Parse(tmp) ''Es wird die Sub Parse() aufgerufen!
      3. Else ''Wenn nicht erfüllt!
      4. Console.WriteLine(con.nick & " sagt: " & tmp) ''Schreibt in die Console
      5. SendToAllClients(con.nick & " sagt: " & tmp) ''Sendet an alle Clients weiter!
      6. End If



      Ihr werdet die Stelle schon finden ;P

      Also, hier die Sub. Ich hoffe genug erklärt :whistling:


      VB.NET-Quellcode

      1. Sub Parse(ByVal cmd As String)
      2. If cmd.contains("|kick ")
      3. Dim removedstring As String
      4. removedstring = cmd
      5. removedstring.Remove("|kick ")
      6. list.RemoveAt(removedstring)
      7. ElseConsole.WriteLine("Parse error: unknow command '" & cmd & "'") ''Fehler ausgeben
      8. Sleep(30000) ''30 Sekunden warten und beenden!
      9. End If
      10. End Sub


      Das wäre nun das Grundgerüst.

      Ich werde das ganze bis dahin noch grundlegend verändern, aber dies ist erstmal ein sehr einfaches Webinterface-Grundgerüst.

      Auf Anfrage gebe ich mein selbst gecodetes Webinterface raus, aber nur wenn man ganz lieb fragt :thumbup:

      Bis dahin, viel glück!!

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()