Ein simpler TCP/IP Server in 150 Zeilen für den RPi

  • Hallöle zusammen,
    ich habe mir gedacht es kann nicht schaden, mal einen Beispielcode für einen einfachen TCP/IP Server ohne viel Schnickschnack drumherum zur Verfügung zu stellen.
    Einen entsprechend einfachen Client findet ihr -> hier <-.

    cheers und viel Spass damit,
    -ds-


  • Ein simpler TCP/IP Server in 150 Zeilen für den RPi? Schau mal ob du hier fündig wirst!

  • Hi,
    im Code:

    Code
    ...
                // intialize structure with 0s
                memset(&serv_addr, '\0', sizeof(serv_addr));
                // use first argument as port number
                port = atoi(argv[1]);
                // net family is INET
                serv_addr.sin_family = AF_INET;
                // use any interface for the listener
                serv_addr.sin_addr.s_addr = INADDR_ANY;
    ...

    siehst Du, dass der Port als Aufruf-Argument (argv[1]) beim Programm-Aufruf mitgegeben wird.
    Du kannst ihn stattdessen natürlich auch fest zuweisen ....

    btw: Grundlagenforschung wäre imho nicht schlecht ;)

    cu,
    -ds-

  • Hi,

    ja, das hatte ich auch verstanden. Ich kompiliere das Programm. Ich erhalte eine a.out Datei und kann mit dieser das Programm aufrufen. SPrich, wenn ich Port 1500 nutzen möchte, muss ich folgendes eingeben:

    ./a.out 1500

    Da argv das erste Argument nach dem Aufruf ist. Aber genau das klappt bei mir nicht. Entweder macht er garnichts, oder er meldet dass kein port zugewiesen ist.

    LG

  • Na was soll er denn machen?
    Der Server gibt nur eine Info bei Verbindungsaufbau und dann die empfangenen Zeichen aus und sendet sie zurück ...
    Das ist nur ein einfaches Grundgerüst für eine Server-Funktionalität ... die Verarbeitung der Daten muss Du schon selbst machen.

    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!