亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smppclient.cs.svn-base

?? EasySMPP是一個VS.NET平臺下的短信開發包
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
                        sendDeliverSmResp(sequence_number, StatusCodes.ESME_RUNKNOWNERR);
                        logMessage(LogLevels.LogExceptions, "decodeAndProcessDeliverSm returned UNKNOWNERR on 0x03");
                        return;
                    }
                    _esm_class = _body[++pos];
                    switch (_esm_class)
                    {
                        case 0x00:
                            break;
                        case 0x04:
                            logMessage(LogLevels.LogSteps, "Delivery Receipt Received");
                            isDeliveryReceipt = true;
                            break;
                        case 0x40:
                            logMessage(LogLevels.LogSteps, "UDHI Indicator set");
                            isUdhiSet = true;
                            break;
                        default:
                            logMessage(LogLevels.LogSteps | LogLevels.LogWarnings, "Unknown esm_class for DELIVER_SM : " + Tools.GetHexFromByte(_esm_class));
                            break;
                    }
                    pos += 1;
                    _priority_flag = _body[++pos];
                    pos += 4;
                    _data_coding = _body[++pos];
                    pos += 1;
                    _sm_length = _body[++pos];
                    pos += 1;
                    if (_sm_length > 0)
                    {
                        _short_message = new byte[_sm_length];
                        Array.Copy(_body, pos, _short_message, 0, _sm_length);
                    }
                    if ((isDeliveryReceipt) || (isUdhiSet))
                    {
                        int _par_tag, _par_tag_length;
                        bool exit = false;
                        if (_sm_length > 0)
                        {
                            pos += _sm_length;
                        }
                        while ((pos < _length) && (exit == false))
                        {
                            if (Tools.Get2ByteIntFromArray(_body, pos, _length, out _par_tag) == false)
                            {
                                exit = true;
                                break;
                            }
                            pos += 2;
                            if (Tools.Get2ByteIntFromArray(_body, pos, _length, out _par_tag_length) == false)
                            {
                                exit = true;
                                break;
                            }
                            pos += 2;
                            switch (_par_tag)
                            {
                                case 0x020C:
                                    if (((pos + _par_tag_length - 1) <= _length) && (_par_tag_length == 2))
                                    {
                                        byte[] temp = new byte[_par_tag_length];
                                        Array.Copy(_body, pos, temp, 0, _par_tag_length);
                                        pos += _par_tag_length;
                                        sar_msg_ref_num = BitConverter.ToInt16(temp, 0);
                                        logMessage(LogLevels.LogSteps, "sar_msg_ref_num : " + sar_msg_ref_num);
                                    }
                                    else
                                        exit = true;

                                    break;
                                case 0x020E:
                                    if ((pos <= _length) && (_par_tag_length == 1))
                                    {
                                        sar_total_segments = _body[pos];
                                        logMessage(LogLevels.LogSteps, "sar_total_segments : " + Convert.ToString(sar_total_segments));
                                        pos++;
                                    }
                                    else
                                        exit = true;

                                    break;
                                case 0x020F:
                                    if ((pos <= _length) && (_par_tag_length == 1))
                                    {
                                        sar_segment_seqnum = _body[pos];
                                        logMessage(LogLevels.LogSteps, "sar_segment_seqnum : " + Convert.ToString(sar_segment_seqnum));
                                        pos++;
                                    }
                                    else
                                        exit = true;

                                    break;
                                case 0x0427:
                                    if ((pos <= _length) && (_par_tag_length == 1))
                                    {
                                        _message_state = _body[pos];
                                        logMessage(LogLevels.LogSteps, "Message state : " + Convert.ToString(_message_state));
                                        pos++;
                                    }
                                    else
                                        exit = true;

                                    break;
                                case 0x001E:
                                    if ((pos + _par_tag_length - 1) <= _length)
                                    {
                                        _receipted_message_id = new byte[_par_tag_length];
                                        Array.Copy(_body, pos, _receipted_message_id, 0, _par_tag_length);
                                        _receipted_message_id_len = Convert.ToByte(_par_tag_length);
                                        pos += _par_tag_length;
                                        logMessage(LogLevels.LogSteps, "Delivered message id : " + Tools.ConvertArrayToString(_receipted_message_id, _receipted_message_id_len - 1));
                                    }
                                    else
                                        exit = true;
                                    break;
                                default:
                                    if ((pos + _par_tag_length - 1) <= _length)
                                        pos += _par_tag_length;
                                    else
                                        exit = true;
                                    logMessage(LogLevels.LogDebug, "_par_tag : " + Convert.ToString(_par_tag));
                                    logMessage(LogLevels.LogDebug, "_par_tag_length : " + Convert.ToString(_par_tag_length));
                                    break;

                            }
                        }
                        logMessage(LogLevels.LogDebug, "Delivery Receipt Processing Exit value - " + Convert.ToString(exit));
                        if (exit)
                            isDeliveryReceipt = false;
                    }

                    if ((sar_msg_ref_num > 0) && ((sar_total_segments > 0) && ((sar_segment_seqnum > 0) && (isUdhiSet))))
                    {
                        lock (sarMessages.SyncRoot)
                        {
                            SortedList tArr = new SortedList();
                            if (sarMessages.ContainsKey(sar_msg_ref_num))
                            {
                                tArr = (SortedList)sarMessages[sar_msg_ref_num];
                                if (tArr.ContainsKey(sar_segment_seqnum))
                                    tArr[sar_segment_seqnum] = _short_message;
                                else
                                    tArr.Add(sar_segment_seqnum, _short_message);
                                bool isFull = true;
                                byte i;
                                for (i = 1; i <= sar_total_segments; i++)
                                {
                                    if (!tArr.ContainsKey(i))
                                    {
                                        isFull = false;
                                        break;
                                    }//if
                                }//for
                                if (!isFull)
                                {
                                    sarMessages[sar_msg_ref_num] = tArr;
                                    sendDeliverSmResp(sequence_number, StatusCodes.ESME_ROK);
                                    return;
                                }
                                else
                                {
                                    _sm_length = 0;
                                    for (i = 1; i <= sar_total_segments; i++)
                                    {
                                        _sm_length += ((byte[])tArr[i]).Length;
                                    }
                                    _short_message = new byte[_sm_length + 100];
                                    _sm_length = 0;
                                    for (i = 1; i <= sar_total_segments; i++)
                                    {
                                        Array.Copy(((byte[])tArr[i]), 0, _short_message, _sm_length, ((byte[])tArr[i]).Length);
                                        _sm_length += ((byte[])tArr[i]).Length;
                                    }
                                    sarMessages.Remove(sar_msg_ref_num);
                                }
                            }//if
                            else
                            {
                                tArr.Add(sar_segment_seqnum, _short_message);
                                sarMessages.Add(sar_msg_ref_num, tArr);
                                sendDeliverSmResp(sequence_number, StatusCodes.ESME_ROK);
                                return;
                            }
                        }//lock
                    }
                    string to;
                    string from;
                    string textString;

                    string hexString = "";

                    byte messageState = 0;
                    string receiptedMessageID = "";

                    to = Encoding.ASCII.GetString(_dest_addr, 0, daLength);
                    from = Encoding.ASCII.GetString(_source_addr, 0, saLength);
                    if (_data_coding == 8) //USC2
                        textString = Encoding.BigEndianUnicode.GetString(_short_message, 0, _sm_length);
                    else
                        textString = Encoding.UTF8.GetString(_short_message, 0, _sm_length);
                    hexString = Tools.ConvertArrayToHexString(_short_message, _sm_length);

                    if (isDeliveryReceipt)
                    {
                        isDeliveryReceipt = true;
                        messageState = _message_state;
                        receiptedMessageID = Encoding.ASCII.GetString(_receipted_message_id, 0, _receipted_message_id_len - 1); ;
                    }

                    DeliverSmEventArgs evArg = new DeliverSmEventArgs(sequence_number, to, from, textString, hexString, _data_coding, _esm_class, isDeliveryReceipt, messageState, receiptedMessageID);
                    processDeliverSm(evArg);
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "decodeAndProcessDeliverSm | " + ex.ToString());
                    sendDeliverSmResp(sequence_number, StatusCodes.ESME_RUNKNOWNERR);
                }

            }//decodeAndProcessDeliverSm

            private void decodeAndProcessDataSm(int sequence_number, byte[] _body, int _length)
            {
                if (_length < 17)
                {
                    sendDeliverSmResp(sequence_number, StatusCodes.ESME_RINVCMDLEN);
                    return;
                }
                try
                {
                    bool isDeliveryReceipt = false;
                    byte _source_addr_ton, _source_addr_npi, _dest_addr_ton, _dest_addr_npi;
                    byte _priority_flag, _data_coding, _esm_class;
                    byte[] _source_addr = new byte[21];
                    byte[] _dest_addr = new byte[21];
                    byte saLength, daLength;
                    byte[] _short_message = new byte[254];
                    int pos;

                    /////////////////////////////////////
                    /// Message Delivery Params
                    /// 
                    byte[] _receipted_message_id = new byte[254];
                    byte _receipted_message_id_len = 0;
                    byte _message_state = 0;


                    pos = 0;
                    while ((pos < 5) && (_body[pos] != 0x00))
                        pos++;
                    if (_body[pos] != 0x00)
                    {
                        sendDeliverSmResp(sequence_number, StatusCodes.ESME_RUNKNOWNERR);
                        logMessage(LogLevels.LogExceptions, "decodeAndProcessDeliverSm returned UNKNOWNERR on 0x04");
                        return;
                    }
                    _source_addr_ton = _body[++pos];
                    _source_addr_npi = _body[++pos];
                    pos++;
                    saLength = 0;
                    while ((saLength < 20) && (_body[pos] != 0x00))
                    {
                        _source_addr[saLength] = _body[pos];
                        pos++;
                        saLength++;
                    }
                    if (_body[pos] != 0x00)
                    {
                        sendDeliverSmResp(sequence_number, StatusCodes.ESME_RUNKNOWNERR);
                        logMessage(LogLevels.LogExceptions, "decodeAndProcessDeliverSm returned UNKNOWNERR on 0x05");
                        return;
                    }
                    _dest_addr_ton = _body[++pos];
                    _dest_addr_npi = _body[++pos];
                    pos++;
                    daLength = 0;
                    while ((daLength < 20) && (_body[pos] != 0x00))
                    {
                        _dest_addr[daLength] = _body[pos];
                        pos++;
                        daLength++;
                    }
                    if (_body[pos] != 0x00)
                    {
                        sendDeliverSmResp(sequence_number, StatusCodes.ESME_RUNKNOWNERR);
                        logMessage(LogLevels.LogExceptions, "decodeAndProcessDeliverSm returned UNKNOWNERR on 0x06");
                        return;
                    }
                    _esm_class = _body[++pos];
                    switch (_esm_class)
                    {
                      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜羞羞影院免费观看| 精品国产青草久久久久福利| 国产伦精品一区二区三区在线观看| 一区二区三区美女视频| 亚洲美女区一区| 亚洲女与黑人做爰| 亚洲综合区在线| 天天av天天翘天天综合网色鬼国产| 亚洲国产综合在线| 日韩一区精品视频| 国产乱淫av一区二区三区| 国产剧情av麻豆香蕉精品| av激情成人网| 欧美三级在线看| 欧美一级日韩不卡播放免费| 欧美va亚洲va在线观看蝴蝶网| 精品国产1区二区| 国产精品视频线看| 亚洲午夜国产一区99re久久| 五月婷婷久久丁香| 国产毛片精品一区| 色香蕉久久蜜桃| 欧美一区二区三区影视| 国产精品免费久久久久| 一级精品视频在线观看宜春院| 天堂蜜桃91精品| 国产成人一区在线| 欧美性受xxxx黑人xyx性爽| 欧美va日韩va| 亚洲一线二线三线视频| 久久精品国产精品青草| 99久久综合99久久综合网站| 在线免费观看视频一区| 日韩亚洲欧美在线| 亚洲精选一二三| 国内精品视频一区二区三区八戒| 99免费精品视频| 欧美xxxx在线观看| 亚洲线精品一区二区三区 | 成人综合婷婷国产精品久久蜜臀| 色视频欧美一区二区三区| 欧美一个色资源| 亚洲另类色综合网站| 激情国产一区二区 | 337p亚洲精品色噜噜狠狠| 国产午夜精品久久久久久免费视| 亚洲国产成人av网| www.爱久久.com| 久久久久免费观看| 蜜桃在线一区二区三区| 欧美专区亚洲专区| 中文字幕一区二区三| 国产精品一区不卡| 欧美成va人片在线观看| 亚洲一级不卡视频| 一本到三区不卡视频| 国产欧美日韩亚州综合| 精品一区二区三区日韩| 欧美人狂配大交3d怪物一区| 亚洲欧洲制服丝袜| 91视频国产观看| 国产精品黄色在线观看| 国产精品系列在线播放| 久久精品男人的天堂| 国产精品一区一区三区| 精品成人在线观看| 精品在线观看免费| 欧美成人aa大片| 国产一区在线精品| 久久免费精品国产久精品久久久久| 麻豆精品在线观看| 日韩精品一区二区三区三区免费| 奇米色777欧美一区二区| 4438x成人网最大色成网站| 日韩精品午夜视频| 在线综合+亚洲+欧美中文字幕| 天天综合天天综合色| 欧美一区二区视频在线观看| 日韩电影在线一区二区三区| 欧美精品 国产精品| 美女一区二区久久| 精品美女被调教视频大全网站| 久久电影网电视剧免费观看| 精品福利一二区| 国产福利一区在线| 亚洲欧美日韩国产一区二区三区| 色综合天天在线| 午夜精彩视频在线观看不卡| 日韩写真欧美这视频| 国产精品夜夜嗨| 一区二区视频在线| 51精品国自产在线| 国产成a人亚洲精| 玉米视频成人免费看| 宅男在线国产精品| 成人国产电影网| 亚洲一二三专区| 久久精品视频免费| 在线观看日韩电影| 久久av中文字幕片| 18成人在线观看| 日韩欧美激情四射| 99久久精品免费精品国产| 亚洲高清在线精品| 久久久精品影视| 欧美性一二三区| 成人网男人的天堂| 日韩av电影免费观看高清完整版| 国产日本欧美一区二区| 在线视频综合导航| 国产精品一区免费在线观看| 一区二区三区四区蜜桃| 久久先锋影音av鲁色资源网| 色婷婷精品大在线视频| 国产中文一区二区三区| 亚洲图片自拍偷拍| 中文字幕一区二区三区色视频 | 国产精品自在欧美一区| 亚洲老司机在线| 久久精品人人做人人爽人人| 欧美久久婷婷综合色| www.欧美色图| 国产一区二区三区高清播放| 亚洲一区二区三区免费视频| 国产免费成人在线视频| 91精品国产综合久久香蕉的特点| 99国产精品久久久久久久久久| 国内久久精品视频| 蜜臀久久99精品久久久画质超高清| 18涩涩午夜精品.www| 久久久久国产精品麻豆ai换脸| 欧美三级在线看| 91女神在线视频| 成人黄色电影在线| 精品系列免费在线观看| 日精品一区二区| 国产精品久久毛片av大全日韩| 亚洲色图都市小说| 日韩女优电影在线观看| 日韩av电影一区| 热久久久久久久| 国产精品18久久久久久久久| 粉嫩av一区二区三区粉嫩| 99这里只有久久精品视频| 欧洲亚洲国产日韩| 精品毛片乱码1区2区3区| 国产精品毛片a∨一区二区三区| 亚洲免费观看高清在线观看| 亚洲大片免费看| 福利一区二区在线观看| 欧美性受xxxx| 国产亚洲va综合人人澡精品| 一区二区在线电影| 国产精品一区三区| 欧美日韩精品系列| 欧美国产精品一区二区| 日韩精品欧美精品| 不卡的看片网站| 日韩一区二区三区视频| 国产精品久久久久9999吃药| 日本不卡中文字幕| av影院午夜一区| 精品久久一区二区| 一区二区三区在线观看国产| 激情综合一区二区三区| 欧美专区亚洲专区| 国产精品久久三| 国产真实乱偷精品视频免| 欧美日韩二区三区| 中文字幕在线不卡视频| 久久精品国产亚洲aⅴ| 欧美亚洲动漫精品| 国产精品久久久久9999吃药| 久久99国内精品| 欧美日韩第一区日日骚| 亚洲日本电影在线| 高清在线不卡av| 久久夜色精品一区| 日本aⅴ亚洲精品中文乱码| 欧美日韩综合不卡| 亚洲人成网站在线| 91在线视频免费观看| 国产喷白浆一区二区三区| 久久精品99国产精品日本| 欧美日韩成人激情| 亚洲va韩国va欧美va| 91久久人澡人人添人人爽欧美| 中文字幕不卡在线播放| 国内精品第一页| 欧美精品一区二区三区蜜臀| 日韩高清一区在线| 欧美精品日韩精品| 视频在线在亚洲| 制服丝袜日韩国产| 丝袜亚洲另类欧美| 欧美福利视频导航| 日韩国产精品久久| 欧美va亚洲va国产综合| 国内成人免费视频| 中文字幕不卡的av|