HTML-Server mit WINS



  • Sorry, wie alt bist Du denn?
    Dann wirst Du sehen, dass ich recht habe und mein Wissen meiner Situation nach angemessen sein sollte! 👍 ⚠



  • ich bin 23 und kann voll gut proggen und du?



  • Ich bin knapp 13 und kann moderat proggen (C++, VB, HTML, JavaScript).
    🤡



  • Du bist eindeutig zu jung für dein Vorhaben. Man muss nämlich sehr gut englisch können.



  • Ich gehe auf's Gymnasium - English 1+
    Ich übersetze liebend gerne!
    Französisch kann ich auch gut!

    🕶



  • Lies dir doch was zum Thema WinSock durch.



  • Ich finde diesen Thread exterm lustig 🙂
    Und zu der Sache mit dem HTTP-Server ich habe auch schon einen geschrieben der konnte sogar CGI Skripte verarbeiten *freu* allerdings hab ich Dummerweise meinen Projekt Ordner auf meiner Platte gelöscht (Ich trottel)!
    Der Client(Der Browser in dem Fall) sendet dir ja einfach nur ein GET index.html HTTP/1.1 oder so ähnlich war das, dann musst du aus dem Befehl halt den Dateiname parsen und sendest ihn dann wenn die Datei existiert diese 🙂
    Ich glaube man musste auch noch MIME Typen und so ein kram mitsenden, aber wie schon gesagt lies dir die RFC durch.
    Gruß



  • gelöscht?
    😉

    Naja, ich glaube Dir gern.
    Allerdings - wie parst man eine File am optimalsten? 👍

    Die rfc habe ich schon angelesen.
    Sehr ordentlich definiert!
    Für Aliens?

    😃



  • Brauchst keine Datei parsen. Nur die Anfrage. 😃



  • blamier...

    na gut.

    😃
    :xmas1:



  • Wie kann man denn jetzt den HTML-Code an den Client posten?
    Und soll das Protokoll auf UDP basieren?
    Es müssen ja logischerweise mehrere Anfragen verarbeitet werden können!
    Und noch was:
    Wie realisiert man den Zugriff auf eine Access-Datenbank?
    Über ODBC? Oder gleich über JET?

    Wäre echt nett, wenn ihr mir da helfen könntet! :xmas1: :xmas2: 🙂 😃 🙄 😮 :p :p



  • mit send. und nein, nicht udp.



  • ...



  • Blueice schrieb:

    Wie kann man denn jetzt den HTML-Code an den Client posten?

    send

    Blueice schrieb:

    Und soll das Protokoll auf UDP basieren?

    Hast Du die RFC gelesen?

    Blueice schrieb:

    Es müssen ja logischerweise mehrere Anfragen verarbeitet werden können!

    Häüngt von Deinem Server ab.. aber die meisten machen es so

    Blueice schrieb:

    Wie realisiert man den Zugriff auf eine Access-Datenbank?

    ODBC / JET / ADO / ATL-Consumer-Templates

    Blueice schrieb:

    Über ODBC? Oder gleich über JET?

    Ist ganz Dir überlassen.



  • @Blueice und schon angefangen?

    hab mal nen kleines geschenk für dich 2 Funktionen die du bestimmt gebrauchen kannst

    hier mal der Link
    http://skippy.uttx.net/phpBB2/viewtopic.php?t=5

    die erste Funktion ist

    BOOL isDirectory(const char *filename)
    

    damit kannst du prüfen ob es eine Datei oder ein verzeichnis ist das dein Server senden/verarbeiten soll

    die zweite Funktion währe

    CString DynamicIndex(CString Homedir, CString path)
    

    die ist in meinem Server dafür zuständig das bei verzeichnissen in denen keine Index.html ist dynamisch(also zur laufzeit) ein index erstellt wird.

    übrigens hab ich bis jetzt keinen anderen momentan von einzel personen oder kleinen gruppen entwickelten /oder in entwicklung befinden Server solch eine Funktion gefunden

    wozu möchtest denn die datenbank anbindung?? das würd mich persönlich mal interessieren



  • Wollte ich schon immer mal probieren und hätte es sicher auch ab und an gebraucht.
    Was ich NICHT wollte wäre eine PHP-Nutzung (CGI...)
    weil dies durch Anwendung von C++ wesentlich leichter für mich ist.
    Mich fasziniert WINS und Netzwerk sehr, andernseits auch Databases.

    Ich wollte schon immer mal einen Server mit (z.B. einem Französisch-Trainer)
    erstellen, da ich Übung früher dringend gebraucht habe, allerdings keine gefunden und somit gerne anderen teilen möchte!
    👍

    Blueice.



  • und deine fragen zufriedenstellend beantwortet oder noch irgedwas wo ich weiterhelfen könnte



  • Noch eine kleine Frage:
    Ist Flooding auch bei diesem Server eine Gefahr?
    Welche Mechanismen könnten meinen Server schützen? 👍



  • Skippy,
    galvanisierst du als Hobby?
    😃



  • @Galvanisieren als Hobby und Beruf

    zum Thema Flooding:

    das ist ziemlich Problematisch sich davor zu Schützen ich würde vielleicht mal den Ansatz versuchen timer gesteuert immer zu Prüfen wieviel CPU Last dein Server erzeugt und dann sagen wir mal als Beispiel wenn der Server länger als 2 Minuten mehr als 80%CPU Last erzeugt sperrst de ihn halt und sendest nur noch ne fehlermeldung Server deaktiviert wegen Flooding

    wichtig ist aber auf jedenfall das du aus der URL folgendes rausfilterst ..

    achso Dateien senden/Verarbeiten nimm auf jedenfall winapi funktionen dort kannst du nämlich leicht realisieren das Dateien die das attribut "Versteckt" haben nicht verarbeitet werden können.

    Weiterhin wird gern in Tutorials zu diesem Thema oft gezeigt das beim Dateien senden einfach die Dateigröße ausgelesen wird dann ne Buffer in der größe angelegt wird und danach wird die Datei komplett in den Arbeitsspeicher gelesen. mach das Blos nicht denn versuch mal so ne 200MB große datei zu senden

    zum Thema dateien senden hier mal die funktion von meinem ersten versuch

    void Socket::SendFiles(const char *filename)
    {
     FILE *resource = NULL;
     char buf[1024];
     int sizeRead;
    
    printf ( "file_found Server will send: %s", filename );
    
     resource = fopen(filename, "rb");
     if (resource == NULL)
     {
      printf ( "not_found: %s", filename );
     }
     else
     {
    
    while(!feof(resource))
         { 
              sizeRead=fread( buf,1, sizeof(buf), resource);
             send(s_, buf, sizeRead, 0);
          }
     }
     fclose(resource);
    }
    

    dort wird die Datei in kleine Häppchen verschickt


Anmelden zum Antworten