From 027297933b317d8d8b4d1c612a0efaacbda00697 Mon Sep 17 00:00:00 2001 From: Ryzerth Date: Mon, 19 Jul 2021 15:57:37 +0200 Subject: [PATCH] Fixed hanging bug --- core/src/utils/networking.cpp | 1 + spyserver_source/src/spyserver_client.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/core/src/utils/networking.cpp b/core/src/utils/networking.cpp index f8df21b..9b4a3bb 100644 --- a/core/src/utils/networking.cpp +++ b/core/src/utils/networking.cpp @@ -36,6 +36,7 @@ namespace net { #ifdef _WIN32 closesocket(_sock); #else + ::shutdown(_sock, SHUT_RDWR); ::close(_sock); #endif } diff --git a/spyserver_source/src/spyserver_client.cpp b/spyserver_source/src/spyserver_client.cpp index 63dec22..ae1657e 100644 --- a/spyserver_source/src/spyserver_client.cpp +++ b/spyserver_source/src/spyserver_client.cpp @@ -11,6 +11,8 @@ namespace spyserver { client = std::move(conn); output = out; + output->clearWriteStop(); + sendHandshake("SDR++"); client->readAsync(sizeof(SpyServerMessageHeader), (uint8_t*)&receivedHeader, dataHandler, this); @@ -31,6 +33,7 @@ namespace spyserver { } void SpyServerClientClass::close() { + output->stopWriter(); client->close(); }