Пример #1
0
 /// <summary>
 /// NIM客户端注销/退出,同步方法
 /// </summary>
 /// <param name="logoutType"></param>
 /// <param name="waitSeconds"></param>
 public static void Logout(NIMLogoutType logoutType, int waitSeconds = 10)
 {
     System.Threading.Semaphore semaphore = new System.Threading.Semaphore(0, 1);
     NIM.ClientAPI.Logout(logoutType, (r) =>
     {
         semaphore.Release();
     });
     semaphore.WaitOne(TimeSpan.FromSeconds(waitSeconds));
 }
 internal static extern void nim_client_logout(NIMLogoutType logout_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string jsonExtension, NIMGlobal.JsonTransportCb cb, IntPtr userData);
Пример #3
0
        /// <summary>
        /// NIM客户端注销/退出
        /// </summary>
        /// <param name="logoutType">Logout操作类型</param>
        /// <param name="delegate">注销/退出的回调函数.</param>
        public static void Logout(NIMLogoutType logoutType, LogoutResultDelegate @delegate)
        {
            IntPtr ptr = NimUtility.DelegateConverter.ConvertToIntPtr(@delegate);

            ClientNativeMethods.nim_client_logout(logoutType, null, LogoutResultCallback, ptr);
        }