Socket wird nicht geschlossen, obwohl Rückgabe 0
Markus Pitha
- programmiertechnik
Hi,
kleines Problem:
Mein Ziel ist es einen Chatserver zu schreiben, wo im Endeffekt jeder mit jedem kommunizieren kann. Jetzt ist es so, dass zwar schon mehrere Verbindungen gleichzeitig auf den Server zugreifen können, wenn diese aber beendet werden, schließt der Server den Socket offensichtlich nicht, da bei neuen Verbindungen immer mehr Sockets angelegt werden (Durch die printf Ausgabe kann man erkennen, dass sich new_socket ständig erhöht, obwohl beispielsweise niemand mehr zum Server verbunden ist).
Ich habe den Rückgabewert bereits geprüft. Es ist 0.
ich habe auch schon probiert close(new_socket) außerhalb von der Kindprozessverzweigung zu platzieren, wodurch plötzlich alle Kinder den selben Socket verwenden. Es gab hier zwar keine Komplikationen, aber so ganz geheuer war mir das trotzdem nicht.
Hat jemand eien Idee, was die Ursache für die ständige Inkrementierung der Sockets ist?
Hier das File: http://test.pithax.net/server_mit_fork.html
Markus.