|
@@ -1,5 +1,7 @@
|
|
|
using HttpDownload;
|
|
|
using NettyClient;
|
|
|
+using NettyClient.proto;
|
|
|
+using System;
|
|
|
using System.Threading;
|
|
|
using TaskDatabase;
|
|
|
|
|
@@ -42,9 +44,32 @@ namespace Client
|
|
|
messageHandler.setSimpleMessageHandler(simpleHandler);
|
|
|
taskHandler.setSimpleMessageHandler(simpleHandler);
|
|
|
}
|
|
|
+
|
|
|
+ // 起动心跳线程
|
|
|
+ Action<SimpleMessageHandler> heartbeat = SendHeartbeat;
|
|
|
+ heartbeat.BeginInvoke(simpleHandler, null, null);
|
|
|
+
|
|
|
client.RunClientAsync(simpleHandler).Wait();
|
|
|
}
|
|
|
|
|
|
+ static void SendHeartbeat(SimpleMessageHandler simpleHandler)
|
|
|
+ {
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Thread.Sleep(30000);
|
|
|
+ var retMsg = MessageUtil.generateMessage(Command.Useless.ToString(), 0, "{}");
|
|
|
+ simpleHandler.WriteMessage(retMsg);
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ Console.WriteLine(e);
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void Close() {
|
|
|
client.CloseAsync().Wait();
|
|
|
}
|