Unix Webserver mit HTML Seite erstellen

Diskutiere Unix Webserver mit HTML Seite erstellen im Internet, lokale Netzwerke und Wireless Lan Forum im Bereich Netzwerke & Serverdienste; Hallo! Ich habe erst vor kurzem begonnen mich mit dem Thema der Netzwerkprogrammierung auseinander zusetzen, und habe probiert einen simplen...

  1. #1 Speedcore016, 14.04.2018
    Speedcore016

    Speedcore016 Grünschnabel

    Dabei seit:
    14.04.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo!

    Ich habe erst vor kurzem begonnen mich mit dem Thema der Netzwerkprogrammierung auseinander zusetzen, und habe probiert einen simplen Webserver aufzusetzen ( Das klappt sogar) und mich über telnet darauf anzuwählen.

    Nun würde ich gerne über den Browser auf diesen Server zugreifen um mir eine HTML Seite anzeigen zu lassen. Nur finde ich keine Tutorials oder ähnliches hierzu. Ich würde auch gerne später über gewisse Befehle in der Kommandozeile (Sobald man am Server eingewählt ist) Elemente auf die HTML Seite hinzufügen, falls das möglich ist.

    Kann mir jemand hier helfen ?
    LG

    Der derzeigtige Code den ich gerade benutze (Nicht von mir selbst!)

    Code:
    /* server.c */
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <time.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    
    /* Portnummer */
    #define PORT 1234
    
    /* Puffer für eingehende Nachrichten */
    #define RCVBUFSIZE 1024
    
    static void echo( int );
    
    static void error_exit(char *errorMessage);
    
    /* Die Funktion gibt Daten vom Client auf stdout aus,
     * die dieser mit der Kommandozeile übergibt. */
    static void echo(int client_socket)
    
    {
        char echo_buffer[RCVBUFSIZE];
        int recv_size;
        time_t zeit;
        char test[5] = {"b"};
        if((recv_size = recv(client_socket, echo_buffer, RCVBUFSIZE,0)) < 0)
            error_exit("Fehler bei recv()");
        echo_buffer[recv_size] = '\0';
        time(&zeit);
        printf("Nachrichten vom Client : %s %s",echo_buffer, ctime(&zeit));
        if(strcmp(echo_buffer,"bbs")== 0){
            printf("GLEICH");
        }
    }
    
    /* Die Funktion gibt den aufgetretenen Fehler aus und
     * beendet die Anwendung. */
    static void error_exit(char *error_message) {
        fprintf(stderr, "%s: %s\n", error_message, strerror(errno));
        exit(EXIT_FAILURE);
    }
    
    int main( int argc, char *argv[]) {
        struct sockaddr_in server, client;
        int sock, fd;
        unsigned int len;
        /* Erzeuge das Socket. */
        sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
        if (sock < 0)
            error_exit("Fehler beim Anlegen eines Sockets");
    
        /* Erzeuge die Socketadresse des Servers. */
        memset( &server, 0, sizeof (server));
        /* IPv4-Verbindung */
        server.sin_family = AF_INET;
        /* INADDR_ANY: jede IP-Adresse annehmen */
        server.sin_addr.s_addr = htonl(INADDR_ANY);
        /* Portnummer */
        server.sin_port = htons(PORT);
        /* Erzeuge die Bindung an die Serveradresse (genauer: an einen bestimmten Port). */
        if(bind(sock,(struct sockaddr*)&server, sizeof( server)) < 0)
            error_exit("Kann das Socket nicht \"binden\"");
    
        /* Teile dem Socket mit, dass Verbindungswünsche von Clients entgegengenommen werden. */
        if(listen(sock, 5) == -1 )
            error_exit("Fehler bei listen");
        
        printf("Server bereit - wartet auf Anfragen ...\n");
        /* Bearbeite die Verbindungswünsche von Clients in einer Endlosschleife.
        Der Aufruf von accept() blockiert so lange, bis ein Client Verbindung aufnimmt. */
        for(;;) {
            len = sizeof(client);
            fd = accept(sock, (struct sockaddr*)&client, &len);
            if (fd < 0)
                error_exit("Fehler bei accept");
            printf("Bearbeite den Client mit der Adresse: %s\n",
            inet_ntoa(client.sin_addr));
            /* Daten vom Client auf dem Bildschirm ausgeben */
            echo( fd );
            printf("HIER DA");
            /* Schließe die Verbindung. */
            close(fd);
        }
        return EXIT_SUCCESS;
    }
     
  2. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.222
    Zustimmungen:
    17
    Ich fürchte, deine Programmierer-Hausaufgaben (also Code schreiben, Bibliotheken nutzen, ...) musst Du schon selbst lernen und machen.

    https://www.google.de/search?q=c+webserver+example ist jedenfalls der Meinung, daß man das auch durchaus schaffen kann - vielleicht hilft Dir ja der, der das obige "Ding" programmiert hat...
     
  3. #3 Speedcore016, 15.04.2018
    Speedcore016

    Speedcore016 Grünschnabel

    Dabei seit:
    14.04.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Ja da hast du Recht.

    Ich hätte noch eine Frage.
    Würde es gehen, dass wenn ich auf meinen Webserver eingewählt bin und einfach in den Terminal einen String hineinschreibe und diesen auf Gültigkeit überprüfe, um daraus bei positiver Überprüfung eine Funktion zu starten, die irgendetwas machen würde ?
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.222
    Zustimmungen:
    17
    na klar - wenn Du das entsprechend implementierst.
     
  5. #5 Speedcore016, 15.04.2018
    Speedcore016

    Speedcore016 Grünschnabel

    Dabei seit:
    14.04.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Hättest du vielleicht irgendwo einen Link oder so rumliegen wo das erklärt wird ^^ =) ? Weil ich hab schon Google durchsucht nach sowas aber nichts gefunden ^^
     
  6. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.222
    Zustimmungen:
    17
    ???

    Programmieren kannst Du aber? Weil nichts anderes ist das...
    (Dein Webserver hört auf irgendeinen Port, da kommt irgendwas "rein", diese Eingabe prüfst Du und je nach Ergebnis der Prüfung passiert dann irgendwas...)
     
Thema: Unix Webserver mit HTML Seite erstellen
Besucher kamen mit folgenden Suchen
  1. webserver unix erstellen

Die Seite wird geladen...

Unix Webserver mit HTML Seite erstellen - Ähnliche Themen

  1. Unix: Zeile aus ManSeite kopieren

    Unix: Zeile aus ManSeite kopieren: Hallo, wenn ich bei Unix die ManSeite aufrufen will, tue ich das mit man -ls. Jetzt will ich bestimmte Sätze (alle Sätze die mit "." enden) aus...
  2. Welches Linux/Unix für ehemaligen OSX Nutzer?

    Welches Linux/Unix für ehemaligen OSX Nutzer?: Hallo zusammen Ich überlege mir schon lange ein Linux/Unix System anders als OS X als primäres Betriebssystem zu nutzen. Seit 7 Jahren nutze...
  3. Dateien in Unix finden, die mehrere Strings beinhalten

    Dateien in Unix finden, die mehrere Strings beinhalten: Hallo liebe Leute, ich versuche über die Shell unter Unix alle Dateien ausfindig zu machen, die sowohl den SuchstringA als auch den SuchstringB...
  4. Unix Shell Funktionen funktionieren nicht

    Unix Shell Funktionen funktionieren nicht: Guten Tag Ich hoffe sehr, dass Sie mir weiterhelfen können, denn ich habe ein riesiges Problem: Zurzeit arbeite ich mit meinem Server an einem...
  5. Installation von COM Ports unter Unix

    Installation von COM Ports unter Unix: Hallo, vorne weg, ich habe von Linux nur Grundkenntnisse und bitte daher etwas um Rücksicht, wenn ich doofe fragen stelle;). Zum Problem: Es gibt...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden