Exemple #1
0
        public void subscribe(SDKClient.IReceiver messageListener)
        {
            TLQMSG_INFO tLQMSG_INFO = default(TLQMSG_INFO);
            TLQMSG_OPT  tLQMSG_OPT  = default(TLQMSG_OPT);

            TLQInterface.Tlq_InitMsgInfo(ref tLQMSG_INFO);
            TLQInterface.Tlq_InitMsgOpt(ref tLQMSG_OPT);
            tLQMSG_INFO.Persistence = 1;
            tLQMSG_INFO.Priority    = 5;
            tLQMSG_INFO.Expiry      = -1;
            tLQMSG_INFO.MsgSize     = 10;
            tLQMSG_OPT.OperateType  = 5;
            tLQMSG_OPT.PubSubScope  = 3;
            tLQMSG_OPT.Topic        = this.topicName;
            tLQMSG_OPT.QueName      = this.rcvQueName;
            bool flag = this.cancelsubFlag == 0;

            if (flag)
            {
                int  num   = TLQInterface.Tlq_PutMsg(ref this.gid, ref this.qcuId, ref tLQMSG_INFO, ref tLQMSG_OPT, (IntPtr)0, null, ref this.errstru);
                bool flag2 = num < 0;
                if (flag2)
                {
                    throw new Exception("Sub topic faild.Error:" + this.errstru.errstr);
                }
                this.CorrMsgId = tLQMSG_INFO.MsgId;
                this.receiveData(messageListener);
            }
            else
            {
                this.receiveData(messageListener);
            }
        }
Exemple #2
0
        public bool pubMessage(string message, int serviceType)
        {
            int         num         = 0;
            TLQMSG_INFO tLQMSG_INFO = default(TLQMSG_INFO);
            TLQMSG_OPT  tLQMSG_OPT  = default(TLQMSG_OPT);
            TLQError    tLQError    = default(TLQError);

            byte[] bytes = encoding.GetBytes(message);
            bool   flag  = this.cancelpubFlag == 0;

            if (flag)
            {
                TLQInterface.Tlq_InitMsgInfo(ref tLQMSG_INFO);
                TLQInterface.Tlq_InitMsgOpt(ref tLQMSG_OPT);
                tLQMSG_INFO.Persistence = 1;
                tLQMSG_INFO.Priority    = 5;
                tLQMSG_INFO.Expiry      = -1;
                tLQMSG_OPT.OperateType  = 3;
                tLQMSG_OPT.PubSubScope  = 3;
                tLQMSG_OPT.Topic        = this.topicName;
                tLQMSG_INFO.MsgSize     = bytes.Length;
                while (true)
                {
                    int  num2  = TLQInterface.Tlq_PutMsg(ref this.gid, ref this.qcuId, ref tLQMSG_INFO, ref tLQMSG_OPT, (IntPtr)0, bytes, ref tLQError);
                    bool flag2 = num2 < 0;
                    if (!flag2)
                    {
                        return(true);
                    }
                    num++;
                    bool flag3 = num > 3;
                    if (flag3)
                    {
                        break;
                    }
                    num2 = this.GetProcByTLQError(ref tLQError);
                    bool flag4 = num2 == 2;
                    if (!flag4)
                    {
                        bool flag5 = num2 == 1;
                        if (!flag5)
                        {
                            goto IL_109;
                        }
                        num2 = this.ReConnectToTLQ();
                    }
                }
                throw new Exception("Send message faild.Error:" + tLQError.errstr);
IL_109:
                throw new Exception("Send message faild.Error:" + tLQError.errstr);
            }
            throw new Exception("Pub flag is cancel");
        }
Exemple #3
0
        public bool sendMessage(string message)
        {
            int         num         = 0;
            TLQMSG_INFO tLQMSG_INFO = default(TLQMSG_INFO);
            TLQMSG_OPT  tLQMSG_OPT  = default(TLQMSG_OPT);
            TLQError    tLQError    = default(TLQError);

            TLQInterface.Tlq_InitMsgInfo(ref tLQMSG_INFO);
            TLQInterface.Tlq_InitMsgOpt(ref tLQMSG_OPT);
            tLQMSG_INFO.MsgType     = 0;
            tLQMSG_INFO.Persistence = 1;
            tLQMSG_INFO.Priority    = 4;
            tLQMSG_INFO.Expiry      = -1;
            tLQMSG_OPT.QueName      = this.queueName;
            byte[] bytes   = encoding.GetBytes(message);
            string @string = encoding.GetString(bytes);

            tLQMSG_INFO.MsgSize = encoding.GetByteCount(@string);
            while (true)
            {
                int  num2 = TLQInterface.Tlq_PutMsg(ref this.gid, ref this.qcuId, ref tLQMSG_INFO, ref tLQMSG_OPT, (IntPtr)0, bytes, ref tLQError);
                bool flag = num2 < 0;
                if (!flag)
                {
                    return(true);
                }
                num++;
                bool flag2 = num > 3;
                if (flag2)
                {
                    break;
                }
                num2 = this.GetProcByTLQError(ref tLQError);
                bool flag3 = num2 == 2;
                if (!flag3)
                {
                    bool flag4 = num2 == 1;
                    if (!flag4)
                    {
                        goto IL_104;
                    }
                    num2 = this.ReConnectToTLQ();
                }
            }
            throw new Exception("Send message faild.Error:" + tLQError.errstr);
IL_104:
            throw new Exception("Send message faild.Error:" + tLQError.errstr);
        }
Exemple #4
0
        public void unSubscribe()
        {
            TLQMSG_INFO tLQMSG_INFO = default(TLQMSG_INFO);
            TLQMSG_OPT  tLQMSG_OPT  = default(TLQMSG_OPT);
            TLQError    tLQError    = default(TLQError);

            tLQMSG_INFO.CorrMsgId  = this.CorrMsgId;
            tLQMSG_OPT.OperateType = 6;
            this.ret = TLQInterface.Tlq_PutMsg(ref this.gid, ref this.qcuId, ref tLQMSG_INFO, ref tLQMSG_OPT, (IntPtr)0, null, ref tLQError);
            bool flag = this.ret < 0;

            if (flag)
            {
                throw new Exception("Unsub topic faild.Error:" + tLQError.errstr);
            }
        }