using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using TouchSocket.Core; using TouchSocket.Sockets; namespace Admin.Core.Socket.TSocket { /// /// 一个心跳计数器扩展。 /// internal static class DependencyExtensions { public static readonly DependencyProperty HeartbeatTimerProperty = DependencyProperty.Register("HeartbeatTimer", typeof(DependencyExtensions), null); public static bool Ping(this TClient client) where TClient : ITcpClientBase { try { client.Send(new MyRequestInfo() { DataType = DataType.Ping }.PackageAsBytes()); return true; } catch (Exception ex) { client.Logger.Exception(ex); } return false; } public static bool Pong(this TClient client) where TClient : ITcpClientBase { try { client.Send(new MyRequestInfo() { DataType = DataType.Pong }.PackageAsBytes()); return true; } catch (Exception ex) { client.Logger.Exception(ex); } return false; } } }