Пример #1
0
 /// <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);
     }
 }