zoukankan      html  css  js  c++  java
  • C# 调用腾讯即时通信 IM《转发》

    IM SDK API 概述 https://cloud.tencent.com/document/product/269/33543

            /// <summary>
            /// IM SDK 初始化。
            /// </summary>
            /// <param name="sdk_app_id"></param>
            /// <param name="json_sdk_config"></param>
            /// <returns></returns>
            [DllImport(@"imsdk.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
            public extern static int TIMInit(long sdk_app_id, string json_sdk_config);
            /// <summary>
            /// 登录
            /// </summary>
            /// <param name="user_id">用户id</param>
            /// <param name="user_sig">签名</param>
            /// <param name="cb"></param>
            /// <returns></returns>
            [DllImport(@"imsdk.dll", CallingConvention = CallingConvention.Cdecl)]
            private extern static int TIMLogin(string user_id, string user_sig, TIMCommCallback cb);
            /// <summary>
            /// 接收新消息回调
            /// </summary>
            /// <param name="cb"></param>
            [DllImport(@"imsdk.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
            private extern static void TIMAddRecvNewMsgCallback(delegateTIMRecvNewMsgCallback cb);
            public void ImInit()
            {
                int sdk_app_id = 1400000000;
                var data = new { sdk_config_log_file_path = AppDomain.CurrentDomain.BaseDirectory, sdk_config_config_file_path = AppDomain.CurrentDomain.BaseDirectory };
                TIMInit(sdk_app_id, JsonConvert.SerializeObject(data));
                TIMAddRecvNewMsgCallback(TIMRecvNewMsgCallback);
                var tLSSig = new TLSSigAPIv2(sdk_app_id, "163250645178b565ffc0b22618d14a88d8a91d86f0e76813313197a5xxxxxxx");
                TIMLogin("用户", tLSSig.GenSig("用户"), CommCallback);
    
            }
            private delegate int TIMCommCallback(int code, string desc, string json_params);
            
            private int CommCallback(int code, string desc, string json_params)
            {
                return code;
            }
            private delegate void delegateTIMRecvNewMsgCallback(string json_msg_array,IntPtr user_data);
            private  void TIMRecvNewMsgCallback(string json_msg_array, IntPtr user_data) {
                var b = Encoding.Default.GetBytes(json_msg_array);
                richTextBox1.AppendText(Encoding.UTF8.GetString(b));
            }
            private void Form1_Load(object sender, EventArgs e)
            {
              ImInit();
            }
  • 相关阅读:
    编译并使用Lua语言
    C#中使用DLL文件
    将Unity3D游戏移植到Android平台上
    Unity3D知识点
    清下书柜,工作书,旧书,正版书,个人学习过的书asp,net,delphi,java,flex,actionscript,vb...
    使用ABP打造SAAS系统(2)——前端框架选择
    使用ABP打造SAAS系统(1)——环境准备
    延迟实例单例模式注意点
    jvm指令解释i = i++ + i++ + i++ + ++i;等于多少
    MYSQL增加库表权限
  • 原文地址:https://www.cnblogs.com/yuanye0918/p/14652422.html
Copyright © 2011-2022 走看看