From eca142b37b631c8efe1035371179bdad76b8faac Mon Sep 17 00:00:00 2001 From: Ahmed Zamil Date: Sun, 26 Jan 2020 14:58:34 +0300 Subject: [PATCH] sendLock --- Esyur/Net/HTTP/HTTPConnection.cs | 5 ++--- Esyur/Net/NetworkConnection.cs | 38 +++++++++++++++++++------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/Esyur/Net/HTTP/HTTPConnection.cs b/Esyur/Net/HTTP/HTTPConnection.cs index abde4d5..b385bfe 100644 --- a/Esyur/Net/HTTP/HTTPConnection.cs +++ b/Esyur/Net/HTTP/HTTPConnection.cs @@ -298,13 +298,12 @@ namespace Esyur.Net.HTTP if (n <= 0) break; - Thread.Sleep(50); + //Thread.Sleep(50); base.Send(buffer, 0, n); } } - - + } catch { diff --git a/Esyur/Net/NetworkConnection.cs b/Esyur/Net/NetworkConnection.cs index df785a8..a0abe1a 100644 --- a/Esyur/Net/NetworkConnection.cs +++ b/Esyur/Net/NetworkConnection.cs @@ -55,6 +55,8 @@ namespace Esyur.Net public event DestroyedEvent OnDestroy; object receivingLock = new object(); + object sendLock = new object(); + bool processing = false; @@ -260,33 +262,39 @@ namespace Esyur.Net public virtual void Send(byte[] msg) { - try + lock (sendLock) { - if (sock != null) + try { - lastAction = DateTime.Now; - sock.Send(msg); + if (sock != null) + { + lastAction = DateTime.Now; + sock.Send(msg); + } } - } - catch - { + catch + { + } } } public virtual void Send(byte[] msg, int offset, int length) { - try + lock (sendLock) { - if (sock != null) + try { - lastAction = DateTime.Now; - sock.Send(msg, offset, length); + if (sock != null) + { + lastAction = DateTime.Now; + sock.Send(msg, offset, length); + } + } + catch (Exception ex) + { + Console.WriteLine(ex); } - } - catch (Exception ex) - { - Console.WriteLine(ex); } }