Example #1
0
        /// <summary>
        /// 初始化通讯会话管理器
        /// </summary>
        private static void InitializeSessionManager()
        {
            // 创建通讯会话管理器
            var configuration = Repository.Repository.LoadConfiguation().information;
            var manager       = new MQTTSessionManager(configuration.mqttServerIp, configuration.mqttServerPort, configuration.clientId);

            // 注册会话
            Tls.Register("Session");

            // 注册收到数据事件回调函数
            manager.OnReceiveEvent += (session, data) => {
                // 设置会话
                Tls.Set("Session", session);

                // 调用方法
                try {
                    var result = DynamicInvoker.JsonRpcInvoke(typeof(Controller), null, data);
                    if (result != null)
                    {
                        session.Send(result, 0, -1);
                    }
                }
                catch (Exception e) {
                    Tracker.LogE(e);
                }
            };
        }