Socket schliessen
-
Muss man den socket den man von socket() zurückbekommt auch schliessen bei einer trennung des hostes oder nicht?
gr.labinot
-
http://msdn.microsoft.com/en-us/library/ms737582(VS.85).aspx
da sollte das meiste dokumentiert sein,..greetz
-
Um kurz auf deine Frage zu antworten: Ja, der Socket muss in jedem Fall wieder geschlossen werden.
-
Ich meine aber auf Serverseite. vor accept() !?
-
Ich verstehe die Frage leider nicht 100%, allgemein gesagt alle geöffneten Sockets sollten wieder geschlossen werden, und zwar dann wenn sie nicht mehr benutzt werden.
-
Hi,
also accept gibt dir einen neuen handle (socket) zurück der ansonsten nichts mehr mit deinem listenSocket zu tun hat. Prinzipiell könnteste Du den listensocket schließen und mit der neuen verbindung arbeiten.
Sollte keine verwendung für eine verbindung mehr bestehen, solltest du den handle also den socket schließen, da sonst für diese resource nicht für das system freigegeben wird. Prinzipiell gibt es keine probleme wenn der socket nur auf addy typ o.ä. verweisst, aber local und/oder remote nicht an eine addresse gebunden ist.
Ansonsten ist das hier ein sehr einfaches und gutes tutorial:
http://www.c-worker.ch/tuts/wstut_op.phpgreetz