Wie schließe ich ASIO :: SSL :: Stream <Asio :: ip :: TCP :: Socket> in C ++ ASIO? (Herunterfahren wirft immer "Stream vC++

Programme in C++. Entwicklerforum
Anonymous
 Wie schließe ich ASIO :: SSL :: Stream <Asio :: ip :: TCP :: Socket> in C ++ ASIO? (Herunterfahren wirft immer "Stream v

Post by Anonymous »

Ich erstelle ein Kunden-Server-Projekt mit eigenständigem ASIO (C ++ 20) und OpenSSL. Mein Client verwendet ASIO :: SSL :: Stream Für TLS -Verbindungen. /> SSL_Stream.shutdown () auf dem Client vor dem Zerstören des Buchse. /> Wenn ich nicht Shutdown () aufrufe und einfach Close () aufrufe oder den Destruktor den Socket schließen lässt, erhält der Async_Read des Servers eine Ausnahme wie "Eine vorhandene Verbindung wurde vom Remote -Host gewaltsam geschlossen" (Windows -Fehler 10054). TLS Close_notify, und dies ist der richtige Weg, um die Verbindung anmutig zu schließen. Ist es sicher, es zu ignorieren, oder gibt es einen besseren/saubereren Weg? /> Mein Ziel ist es nur, die Verbindung ordnungsgemäß zu beenden. Wenn der Heruntergangsprozess jedoch nicht wesentlich ist, kann ich weitermachen, ohne dies zu tun.

Code: Select all

asio::ssl::stream ssl_sock(io_ctx, ssl_ctx);
// ... handshake and communication done ...
try {
ssl_sock.shutdown();
} catch (const std::system_error& e) {
std::cerr

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post