Socket wieder schließen



  • Ich erstelle einen Socket und stelle ihn auf "listen". Gleich danach nehme ich ankommende Verbindungen mit accept entgegen. Accept gibt mir einen sockfd als Rueckgabewert zurück.

    Mein Frage: Wie kann eine Verbindung, die ich per accept erstellt habe, wieder schließen, ohne gleich den kompletten Socket zu killen?



  • Der Socket, den accept() zurückgibt, IST die Verbindung. Was soll denn der Socket noch machen, nachdem Du die Verbindung geschlossen hast?



  • Hallo Gast,

    zwar schon ein paar Tage her, aber vielleicht besteht das Problem noch.

    Du arbeitest mit zwei Sockets: eins ist das gebundene, auf dem Du horchst (als Server). Nach dem accept kriegst Du vom System ein neues Socket, das mit dem Client verbunden ist. Darauf kannst Du lesen oder schreiben und es am Ende wieder schließen.

    Das ursprüngliche "Listen-Socket" ist weiterhin aktiv, das heißt, Du kannst erneut accept( ) aufrufen und auf eine neue Verbindung warten.


Anmelden zum Antworten