Ich habe versucht, durch Quelle suchen, aber ich kann so viel von einem Vorlagencode nicht navigieren. Grundsätzlich gilt: das ist, was Dokumentation sagt (für close()
):Haben Boost Asio-Sockets richtige RAII Cleanup
Remarks For portable behaviour with respect to graceful closure of a connected socket, call shutdown() before closing the socket.
ich manuell das tun kann, aber wenn möglich, wäre es schön, auf RAII zu verlassen.
Also, wenn ich Socket außerhalb des Geltungsbereichs habe muss ich shutdown()
und close()
darauf anrufen, oder es wird automatisch geschehen?
Warum wickeln Sie den Socket nicht einfach in eine Klasse, die im dtor close/shutdown aufruft? – Lother
Ein einfacher Wrapper (ähnlich wie die üblichen Lock-Guard-Implementierungen etc. pp.) Würde tun? Aus Ihrer Quelle scheint es für mich, dass sie dies nicht automatisch bei der Zerstörung der Steckdose tun. –
@Luther gleiche Idee zur gleichen Zeit;), sieht aus wie eine Lösung zu sein ... –