69 lines
2.1 KiB
C#
69 lines
2.1 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using LeanCloud;
|
|
using LeanCloud.Realtime;
|
|
|
|
using static System.Console;
|
|
|
|
namespace RealtimeApp {
|
|
class Program {
|
|
static void Main(string[] args) {
|
|
WriteLine("Hello World!");
|
|
|
|
SingleThreadSynchronizationContext.Run(async () => {
|
|
LCLogger.LogDelegate += Print;
|
|
LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com");
|
|
|
|
LCIMClient client = new LCIMClient("lean") {
|
|
OnPaused = () => {
|
|
WriteLine("~~~~~~~~~~~~~~~ disconnected");
|
|
},
|
|
OnResume = () => {
|
|
WriteLine("~~~~~~~~~~~~~~~ reconnected");
|
|
}
|
|
};
|
|
|
|
await client.Open();
|
|
|
|
int count = 0;
|
|
while (count < 2) {
|
|
WriteLine($"pause : {count}");
|
|
|
|
await Task.Delay(5 * 1000);
|
|
LCRealtime.Pause();
|
|
|
|
await Task.Delay(5 * 1000);
|
|
LCRealtime.Resume();
|
|
|
|
await Task.Delay(5 * 1000);
|
|
count++;
|
|
}
|
|
|
|
try {
|
|
await client.Close();
|
|
// Done
|
|
} catch (Exception e) {
|
|
WriteLine($"xxxxxxxxxxxx {e.Message}");
|
|
}
|
|
});
|
|
}
|
|
|
|
static void Print(LCLogLevel level, string info) {
|
|
switch (level) {
|
|
case LCLogLevel.Debug:
|
|
WriteLine($"[DEBUG] {DateTime.Now} {info}\n");
|
|
break;
|
|
case LCLogLevel.Warn:
|
|
WriteLine($"[WARNING] {DateTime.Now} {info}\n");
|
|
break;
|
|
case LCLogLevel.Error:
|
|
WriteLine($"[ERROR] {DateTime.Now} {info}\n");
|
|
break;
|
|
default:
|
|
WriteLine(info);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|