Socketprogrammierung Linux in C

Gast #2982832
Lesenswert?

Hallo zusammen,

ich beschäftige mich gerade mit Socketprogrammierung in C unter Linux.
Dazu habe ich folgende sehr hilfreiche Seite gefunden:
http://www.fh-gelsenkirchen.de/fb01/homepages/pollakowski/socket/skripte.html

Wenn ich dieses einfache Beispiel nehme und compiliere
http://www.fh-gelsenkirchen.de/fb01/homepages/pollakowski/socket/skripte/ServerHalloWelt.txt
dann läuft es wunderbar.
Wenn ich allerdings den String web_seite um ein paar Sätze erweitere, 
dann funktioniert es nicht mehr.
Compilieren und starten geht logischerweise.
Aber wenn ich ihn über den Browser oder über putty ansprechen will, 
kommt Verbindung abgelehnt(putty) bzw Keine Verbindung möglich(Firefox).

Hat jemand eine Idee, woran das liegt?

Viele Grüße
#2982912
Lesenswert?

Schuss ins Blaue:

der Code setzt kein SO_REUSEADDR auf die Socket. Könnte es sein, dass 
das Problem nicht durch Deine Änderung auftritt, sondern durch erneutes 
Starten des Programms weniger als (ich glaub 120s) seit Beenden?
Ohne SO_REUSEADDR ist der Port dann nicht wieder verfügbar.
Schneller Test: Prozess beenden, zwei Minuten warten, nochmal versuchen.

Dazu fällt auf:
Dem Code fehlt jegliche Fehlerbehandlung. Das ist ganz aua, besonders 
wenn es um z.B. Netzwerk geht, wo sonst was dazwischenkommen kann.
Sowas gehört von Anfang an da rein.
Überprüge mal den Rückgabewert von bind(). Muss 0 sein, sonst kannste an 
der Stelle schon einpacken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren