diff --git a/ZeroLevel/Services/Network/SocketClient.cs b/ZeroLevel/Services/Network/SocketClient.cs index 72572de..3dbd918 100644 --- a/ZeroLevel/Services/Network/SocketClient.cs +++ b/ZeroLevel/Services/Network/SocketClient.cs @@ -127,7 +127,7 @@ namespace ZeroLevel.Network public void Request(Frame frame, Action callback, Action fail = null!) { if (Status != SocketClientStatus.Working) throw new Exception($"[SocketClient.Request] Socket status: {Status}"); - var data = NetworkPacketFactory.Reqeust(MessageSerializer.Serialize(frame), out int id); + var data = NetworkPacketFactory.Request(MessageSerializer.Serialize(frame), out int id); _requests.RegisterForFrame(id, callback, fail); Send(id, true, data); } @@ -178,8 +178,11 @@ namespace ZeroLevel.Network } else { - // TODO or not TODO - Thread.Sleep(1); + if (count == 0) + { + Broken(); // Закрытие соединения + return; + } } StartReceive(); } @@ -345,6 +348,8 @@ namespace ZeroLevel.Network { Log.Error(ex, "[SocketClient.Dispose]"); } + _receiveThread?.Join(500); + _sendingThread?.Join(500); } } } diff --git a/ZeroLevel/Services/Network/Utils/NetworkPacketFactory.cs b/ZeroLevel/Services/Network/Utils/NetworkPacketFactory.cs index 8fbe705..c2192b1 100644 --- a/ZeroLevel/Services/Network/Utils/NetworkPacketFactory.cs +++ b/ZeroLevel/Services/Network/Utils/NetworkPacketFactory.cs @@ -28,7 +28,7 @@ namespace ZeroLevel.Network return packet; } - public static byte[] Reqeust(byte[] data, out int requestId) + public static byte[] Request(byte[] data, out int requestId) { var packet = new byte[data.Length + 6 + 4]; packet[0] = (MAGIC | MAGIC_REQUEST); diff --git a/ZeroLevel/ZeroLevel.csproj b/ZeroLevel/ZeroLevel.csproj index ed460cb..1062c5f 100644 --- a/ZeroLevel/ZeroLevel.csproj +++ b/ZeroLevel/ZeroLevel.csproj @@ -39,8 +39,8 @@ - - + +