Browse Source

Fehler im Websocket behoben

Kolja Strohm 5 years ago
parent
commit
74835f557a
3 changed files with 16 additions and 4 deletions
  1. 4 4
      Network/Network.vcxproj
  2. 10 0
      Network/WebSocket.cpp
  3. 2 0
      Network/WebSocket.h

+ 4 - 4
Network/Network.vcxproj

@@ -119,10 +119,10 @@
       <AdditionalDependencies>Crypt32.lib;libcrypto.lib;libssl.lib;Ws2_32.lib;Framework.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     <CustomBuildStep>
-      <Command>copy "x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\Start\Start\network.dll"
-copy "x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\patcher\patcher\network.dll"
-copy "x64\Debug\Network.dll" "..\..\..\Spiele Platform\SMP\SMP\network.dll"
-copy "x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\Fertig\Debug\x64\network.dll"</Command>
+      <Command>copy "..\x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\Start\Start\network.dll"
+copy "..\x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\patcher\patcher\network.dll"
+copy "..\x64\Debug\Network.dll" "..\..\..\Spiele Platform\SMP\SMP\network.dll"
+copy "..\x64\Debug\Network.dll" "..\..\..\Spiele Platform\Klient\Fertig\Debug\x64\network.dll"</Command>
       <Outputs>kopiere...;%(Outputs)</Outputs>
     </CustomBuildStep>
   </ItemDefinitionGroup>

+ 10 - 0
Network/WebSocket.cpp

@@ -410,4 +410,14 @@ __declspec( dllexport ) void WebSocketClient::disconnect()
 __declspec( dllexport ) bool WebSocketClient::isConnected() const
 {
     return klient != 0;
+}
+
+// löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
+Thread *WebSocketClient::release()
+{
+#ifdef WIN32
+    if( ref == 2 && run )
+        disconnect();
+#endif
+    return Thread::release();
 }

+ 2 - 0
Network/WebSocket.h

@@ -65,6 +65,8 @@ namespace Network
             __declspec( dllexport ) void disconnect();
             // Gibt 1 zurück, wenn eine Verbindung zum Server besteht, 0 sonnst
             __declspec( dllexport ) bool isConnected() const;
+            // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
+            __declspec( dllexport ) Framework::Thread *release() override;
         };
     }
 }