/// <summary> /// 彻底关闭客户端并且不再重试 /// </summary> /// <returns></returns> public async Task Close() { try { var config = ClientConfig; //客户端关闭 CANCEL_TOKEN_SRC.Cancel(); TRANSFERING_TOKEN_SRC.Cancel(); HEARTBEAT_TOKEN_SRC.Cancel(); ONE_LIVE_TOKEN_SRC.Cancel(); _waiter.SetCanceled(); //服务端关闭 await NetworkUtil.ConnectAndSend( config.ProviderAddress, config.ConfigPort, Protocol.CloseClient, StringUtil.IntTo2Bytes(this.ConnectionManager.ClientID), true) .ConfigureAwait(false); } catch (Exception ex) { Router.Logger.Debug("关闭失败!" + ex); } }