using System; using System.Net; namespace ZeroLevel.Network { public interface ISocketClient: IDisposable { event Action OnIncomingData; event Action OnConnect; event Action OnDisconnect; IPEndPoint Endpoint { get; } SocketClientStatus Status { get; } IRouter Router { get; } void ForceConnect(); void UseKeepAlive(TimeSpan period); void Send(Frame data); void Request(Frame data, Action callback, Action fail = null); void Response(byte[] data, int identity); } }