diff --git a/TLSharp.Core/Network/MtProtoSender.cs b/TLSharp.Core/Network/MtProtoSender.cs index 91e4457..5cbc9cf 100644 --- a/TLSharp.Core/Network/MtProtoSender.cs +++ b/TLSharp.Core/Network/MtProtoSender.cs @@ -34,7 +34,9 @@ namespace TLSharp.Core.Network private int GenerateSequence(bool confirmed) { - return confirmed ? session.Sequence++ * 2 + 1 : session.Sequence * 2; + lock (session.Lock) { + return confirmed ? session.Sequence++ * 2 + 1 : session.Sequence * 2; + } } public async Task Send(TeleSharp.TL.TLMethod request, CancellationToken token = default(CancellationToken)) diff --git a/TLSharp.Core/Session.cs b/TLSharp.Core/Session.cs index 6a526cc..48b972b 100644 --- a/TLSharp.Core/Session.cs +++ b/TLSharp.Core/Session.cs @@ -72,6 +72,8 @@ namespace TLSharp.Core public class Session { + internal object Lock = new object (); + private const string defaultConnectionAddress = "149.154.175.100";//"149.154.167.50"; private const int defaultConnectionPort = 443;