public virtual void Stop() { lock (this) { if (null == Socket) { return; } HandshakeDoneEvent.Reset(); var tmp = Socket; Socket = null; tmp.Dispose(); IsConnected = false; } }
public virtual void Start() { lock (this) { ReconnectTask?.Cancel(); ReconnectTask = null; if (null != Socket) { return; } IsConnected = false; HandshakeDoneEvent.Reset(); Socket = Service.NewClientSocket(HostNameOrAddress, Port); Socket.Connector = this; } }