diff --git a/TLSharp.Core/Network/MtProtoSender.cs b/TLSharp.Core/Network/MtProtoSender.cs index dba5760..387c57e 100644 --- a/TLSharp.Core/Network/MtProtoSender.cs +++ b/TLSharp.Core/Network/MtProtoSender.cs @@ -199,6 +199,7 @@ namespace TLSharp.Core.Network uint code = messageReader.ReadUInt32(); messageReader.BaseStream.Position -= 4; + logger.Info("Processing message {0:x8}", code); switch (code) { case 0x73f1f8dc: // container @@ -243,7 +244,7 @@ namespace TLSharp.Core.Network case 0x11f1331c: return HandleUpdate(code, sequence, messageReader, request); default: - Console.WriteLine ("Msg code: {0:x8}", code); + logger.Info("unhandled message"); return false; } } diff --git a/TLSharp.Core/TelegramClient.cs b/TLSharp.Core/TelegramClient.cs index 8ec8ac4..630cc35 100644 --- a/TLSharp.Core/TelegramClient.cs +++ b/TLSharp.Core/TelegramClient.cs @@ -120,6 +120,8 @@ namespace TLSharp.Core public async Task MainLoopAsync(int timeslicems) { logger.Trace("Entered loop"); + await SendPingAsync(); + var lastPing = DateTime.UtcNow; for (;;) { try @@ -131,6 +133,12 @@ namespace TLSharp.Core } finally { + var now = DateTime.UtcNow; + if ((now - lastPing).TotalSeconds >= 30) + { + await SendPingAsync(); + lastPing = now; + } if (IdleLoop != null) { logger.Trace("Running idle tasks"); @@ -262,6 +270,7 @@ namespace TLSharp.Core } public async Task SendRequestAsync(TLMethod methodToExecute) { + logger.Info("Sending Request: {0} {1:x8}", methodToExecute, methodToExecute.Constructor); await RequestWithDcMigration(methodToExecute); var result = methodToExecute.GetType().GetProperty("Response").GetValue(methodToExecute);