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

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

?? smppclient.cs.svn-base

?? EasySMPP是一個VS.NET平臺下的短信開發包
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
                {
                    disconnectSocket();
                    Thread.Sleep(reconnectTimeout);
                    if (mustBeConnected)
                    {
                        smscArray.NextSMSC();
                        connectToSMSC();
                    }
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "tryToReconnect | " + ex.ToString());
                }

            }//tryToReconnect

            private void receiveCallback(IAsyncResult ar)
            {
                try
                {
                    int _command_length;
                    uint _command_id;
                    int _command_status;
                    int _sequence_number;
                    int _body_length;
                    byte[] _PDU_body = new byte[0];
                    byte[] _RESPONSE_PDU = new byte[KernelParameters.MaxPduSize];
                    int i, x;
                    bool _exit_flag;

                    // Retrieve the state object and the client socket 
                    // from the async state object.
                    StateObject state = (StateObject)ar.AsyncState;
                    Socket client = state.workSocket;
                    // Read data from the remote device.
                    int bytesRead = client.EndReceive(ar);
                    logMessage(LogLevels.LogSteps, "Received " + Tools.ConvertIntToHexString(bytesRead) + " bytes");
                    if (bytesRead > 0)
                    {
                        // There might be more data, so store the data received so far.
                        if ((LogLevel & LogLevels.LogPdu) > 0)
                            logMessage(LogLevels.LogPdu, "Received Binary Data " + Tools.ConvertArrayToHexString(state.buffer, bytesRead));
                        //////////////////////////////
                        /// Begin processing SMPP messages
                        /// 
                        mLen = mPos + bytesRead;
                        if (mLen > KernelParameters.MaxBufferSize)
                        {
                            mPos = 0;
                            mLen = 0;
                            mbResponse = new byte[KernelParameters.MaxBufferSize];
                        }
                        else
                        {
                            Array.Copy(state.buffer, 0, mbResponse, mPos, bytesRead);
                            mPos = mLen;
                            _exit_flag = false;
                            x = 0;
                            while (((mLen - x) >= 16) && (_exit_flag == false))
                            {
                                _command_length = mbResponse[x + 0];
                                for (i = x + 1; i < x + 4; i++)
                                {
                                    _command_length <<= 8;
                                    _command_length = _command_length | mbResponse[i];
                                }

                                _command_id = mbResponse[x + 4];
                                for (i = x + 5; i < x + 8; i++)
                                {
                                    _command_id <<= 8;
                                    _command_id = _command_id | mbResponse[i];
                                }

                                _command_status = mbResponse[x + 8];
                                for (i = x + 9; i < x + 12; i++)
                                {
                                    _command_status <<= 8;
                                    _command_status = _command_status | mbResponse[i];
                                }

                                _sequence_number = mbResponse[x + 12];
                                for (i = x + 13; i < x + 16; i++)
                                {
                                    _sequence_number <<= 8;
                                    _sequence_number = _sequence_number | mbResponse[i];
                                }
                                if ((_command_length <= (mLen - x)) && (_command_length >= 16))
                                {
                                    if (_command_length == 16)
                                        _body_length = 0;
                                    else
                                    {
                                        _body_length = _command_length - 16;
                                        _PDU_body = new byte[_body_length];
                                        Array.Copy(mbResponse, x + 16, _PDU_body, 0, _body_length);
                                    }
                                    //////////////////////////////////////////////////////////////////////////////////////////
                                    ///SMPP Command parsing

                                    switch (_command_id)
                                    {
                                        case 0x80000009:
                                            logMessage(LogLevels.LogSteps, "Bind_Transiver_Resp");

                                            if (connectionState== ConnectionStates.SMPP_BIND_SENT)
                                            {
                                                if (_command_status == 0)
                                                {
                                                    connectionState= ConnectionStates.SMPP_BINDED;
                                                    logMessage(LogLevels.LogSteps, "SMPP Binded");
                                                }
                                                else
                                                {
                                                    logMessage(LogLevels.LogSteps | LogLevels.LogErrors, "SMPP BIND ERROR : " + Tools.ConvertIntToHexString(_command_status));
                                                    disconnect(client);
                                                    tryToReconnect();
                                                    return;
                                                }
                                            }
                                            else
                                            {
                                                logMessage(LogLevels.LogSteps | LogLevels.LogWarnings, "ERROR #3011 : Unexpected Bind_Transiver_Resp");
                                            }
                                            break;
                                        case 0x80000004:
                                            logMessage(LogLevels.LogSteps, "Submit_Sm_Resp");
                                            SubmitSmRespEventArgs evArg = new SubmitSmRespEventArgs(_sequence_number, _command_status, Tools.ConvertArrayToString(_PDU_body, _body_length - 1));
                                            processSubmitSmResp(evArg);
                                            break;
                                        case 0x80000103:
                                            logMessage(LogLevels.LogSteps, "Data_Sm_Resp");
                                            evArg = new SubmitSmRespEventArgs(_sequence_number, _command_status, Tools.ConvertArrayToString(_PDU_body, _body_length - 1));
                                            processSubmitSmResp(evArg);
                                            break;
                                        case 0x80000015:
                                            logMessage(LogLevels.LogSteps, "Enquire_Link_Resp");
                                            enquireLinkResponseTime = DateTime.Now;
                                            break;
                                        case 0x00000015:
                                            logMessage(LogLevels.LogSteps, "Enquire_Link");
                                            sendEnquireLinkResp(_sequence_number);
                                            break;
                                        case 0x80000006:
                                            logMessage(LogLevels.LogSteps, "Unbind_Resp");
                                            connectionState= ConnectionStates.SMPP_UNBINDED;
                                            disconnect(client);
                                            break;
                                        case 0x00000005:
                                            logMessage(LogLevels.LogSteps, "Deliver_Sm");
                                            decodeAndProcessDeliverSm(_sequence_number, _PDU_body, _body_length);
                                            break;
                                        case 0x00000103:
                                            logMessage(LogLevels.LogSteps, "Data_Sm");
                                            decodeAndProcessDataSm(_sequence_number, _PDU_body, _body_length);
                                            break;
                                        default:
                                            sendGenericNack(_sequence_number, StatusCodes.ESME_RINVCMDID);
                                            logMessage(LogLevels.LogSteps | LogLevels.LogWarnings, "Unknown SMPP PDU type" + Tools.ConvertUIntToHexString(_command_id));
                                            break;
                                    }
                                    ///////////////////////////////////////////////////////////////////////////////////////////
                                    ///END SMPP Command parsing
                                    ///////////////////////////////////////////////////////////////////////////////////////////

                                    if (_command_length == (mLen - x))
                                    {
                                        mLen = 0;
                                        mPos = 0;
                                        x = 0;
                                        _exit_flag = true;
                                    }
                                    else
                                    {
                                        x += _command_length;
                                    }
                                }
                                else
                                {
                                    sendGenericNack(_sequence_number, StatusCodes.ESME_RINVMSGLEN);
                                    mLen -= x;
                                    mPos = mLen;
                                    Array.Copy(mbResponse, x, mbResponse, 0, mLen);
                                    _exit_flag = true;
                                    logMessage(LogLevels.LogSteps | LogLevels.LogWarnings, "Invalid PDU Length");
                                }
                                if (x < mLen)
                                    logMessage(LogLevels.LogPdu, "NEXT PDU STEP IN POS " + Convert.ToString(x) + " FROM " + Convert.ToString(mLen));
                            }
                        }
                        //////////////////////////////
                        /// End processing SMPP messages
                        //  Get the rest of the data.
                        client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                            new AsyncCallback(receiveCallback), state);
                    }
                    else
                    {
                        logMessage(LogLevels.LogSteps | LogLevels.LogWarnings, "Incoming network buffer from SMSC is empty.");
                        /*					if (client.Poll(0,SelectMode.SelectError)&&client.Poll(0,SelectMode.SelectRead)&&client.Poll(0,SelectMode.SelectWrite))
                                            {
                                                logMessage(LogLevels.LogSteps|LogLevels.LogExceptions, "Socket Error");
                                                unBind();
                                            }
                        */
                        tryToReconnect();
                    }
                }

                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "receiveCallback | " + ex.ToString());
                    unBind();
                }

            }//receiveCallback

            private void initClientParameters()
            {
                mbResponse = new byte[KernelParameters.MaxBufferSize];
                mPos = 0;
                mLen = 0;

                enquireLinkResponseTime = DateTime.Now;

                undeliveredMessages = 0;
            }//initClientParameters

            private void decodeAndProcessDeliverSm(int sequence_number, byte[] _body, int _length)
            {
                if (_length < 17)
                {
                    sendDeliverSmResp(sequence_number, StatusCodes.ESME_RINVCMDLEN);
                    return;
                }
                try
                {
                    bool isDeliveryReceipt = false;
                    bool isUdhiSet = 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[0];
                    int _sm_length;
                    int pos;

                    /////////////////////////////////////
                    /// Message Delivery Params
                    /// 
                    byte[] _receipted_message_id = new byte[254];
                    byte _receipted_message_id_len = 0;
                    byte _message_state = 0;
                    Int16 sar_msg_ref_num = 0;
                    byte sar_total_segments = 0;
                    byte sar_segment_seqnum = 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 0x01");
                        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 0x02");
                        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)
                    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美剧情片在线观看| 国产精品一区二区不卡| 美国三级日本三级久久99| 激情六月婷婷综合| 成人精品免费网站| 一本在线高清不卡dvd| 在线观看91av| 欧美国产综合色视频| 一区二区三区不卡视频在线观看 | 91精品免费在线| 久久久亚洲午夜电影| 亚洲柠檬福利资源导航| 琪琪一区二区三区| 99re这里只有精品首页| 911精品国产一区二区在线| 久久精品人人做| 一区二区三区美女视频| 国产永久精品大片wwwapp| 99精品偷自拍| 欧美成人a∨高清免费观看| 国产精品传媒视频| 久久精品国产亚洲一区二区三区| 波多野结衣精品在线| 日韩一区二区高清| 亚洲人成影院在线观看| 国产在线精品不卡| 欧美日韩视频在线第一区| 国产精品入口麻豆原神| 美女网站在线免费欧美精品| 一本一道久久a久久精品| 久久综合久久综合亚洲| 丝袜美腿亚洲色图| 91麻豆免费视频| 精品国产91洋老外米糕| 亚洲成国产人片在线观看| av电影在线不卡| 国产欧美精品一区| 蜜桃视频免费观看一区| 欧美影视一区二区三区| 国产精品久久久久精k8| 国产精品自拍毛片| 日韩三级视频在线观看| 亚洲一区影音先锋| 色综合天天综合网天天看片| 国产日韩欧美精品电影三级在线 | 欧美va亚洲va| 亚洲成人一区在线| 日本韩国欧美一区| 国产精品久久久久久久久久久免费看 | 久久机这里只有精品| 欧美在线综合视频| 《视频一区视频二区| 国产一区日韩二区欧美三区| 日韩欧美亚洲国产精品字幕久久久| 亚洲精品成人精品456| 91在线一区二区三区| 国产欧美一区二区精品婷婷 | 久久久久亚洲蜜桃| 蜜臀av一区二区在线观看| 欧美日韩国产电影| 亚洲高清免费一级二级三级| 色婷婷av一区二区三区软件 | 日本高清不卡视频| 亚洲青青青在线视频| av一区二区三区四区| 国产精品久久久久影院老司| 成人的网站免费观看| 亚洲国产精品成人久久综合一区| 国产一区二区三区四| 久久综合色鬼综合色| 国产精品一区二区视频| 久久久99免费| 成人黄页在线观看| 亚洲日本护士毛茸茸| 色婷婷综合视频在线观看| 亚洲人成人一区二区在线观看| 91性感美女视频| 亚洲啪啪综合av一区二区三区| 91麻豆视频网站| 亚洲国产aⅴ成人精品无吗| 欧美日韩国产123区| 日韩激情av在线| 精品国产免费人成在线观看| 精品一区二区日韩| 中文字幕精品—区二区四季| 97se亚洲国产综合自在线不卡 | 91国产丝袜在线播放| 亚洲mv在线观看| 欧美一区二区性放荡片| 蜜桃av一区二区三区| 亚洲精品在线免费播放| 国产91高潮流白浆在线麻豆| 中文字幕在线观看不卡| 在线免费精品视频| 青青草国产精品97视觉盛宴| 精品久久久网站| 成人午夜视频在线观看| 一区二区三区产品免费精品久久75| 欧美日韩国产精品成人| 久久精工是国产品牌吗| 亚洲国产经典视频| 91国偷自产一区二区使用方法| 日韩国产成人精品| 久久精品男人天堂av| 色婷婷国产精品久久包臀 | 久久久亚洲高清| 色综合亚洲欧洲| 日本伊人色综合网| 国产视频一区在线播放| 91亚洲精华国产精华精华液| 日韩经典中文字幕一区| 国产欧美一区二区在线观看| 欧美午夜一区二区三区| 寂寞少妇一区二区三区| 亚洲欧美福利一区二区| 欧美一区二区在线免费播放| 成人理论电影网| 日韩不卡在线观看日韩不卡视频| 久久久久久久网| 欧美在线观看视频在线| 国产精品99久久久久久久vr| 亚洲精品国久久99热| 精品黑人一区二区三区久久| 99九九99九九九视频精品| 久久国产免费看| 亚洲欧美另类久久久精品2019| 日韩欧美国产一区在线观看| 91性感美女视频| 精品一区二区三区在线播放| 亚洲精品免费在线观看| 欧美精品一区二| 欧美丝袜自拍制服另类| 国产成人99久久亚洲综合精品| 日日欢夜夜爽一区| 最新久久zyz资源站| 精品久久久久一区| 欧美亚洲自拍偷拍| 北岛玲一区二区三区四区| 久久精品99久久久| 亚洲午夜免费视频| 专区另类欧美日韩| 久久一区二区三区四区| 欧美精品1区2区3区| 91社区在线播放| 国产精品一线二线三线精华| 午夜精品免费在线| 怡红院av一区二区三区| 日本一二三四高清不卡| 精品盗摄一区二区三区| 欧美伦理视频网站| 色综合久久久久综合| 成人看片黄a免费看在线| 国内精品不卡在线| 日本亚洲三级在线| 亚洲成人在线免费| 伊人色综合久久天天人手人婷| 国产精品乱人伦一区二区| 久久综合九色综合欧美就去吻| 在线播放91灌醉迷j高跟美女 | 依依成人精品视频| 自拍偷拍国产精品| 国产精品毛片大码女人| 国产无人区一区二区三区| 精品免费视频.| 91精品国产欧美一区二区成人| 欧美在线影院一区二区| 色婷婷精品久久二区二区蜜臀av | 亚洲图片你懂的| 国产精品福利av| 国产精品网站在线观看| 国产日韩亚洲欧美综合| 国产日韩精品一区二区三区| 精品福利二区三区| 久久亚洲一区二区三区四区| 欧美sm极限捆绑bd| 日韩免费视频一区二区| 91精品国产综合久久福利| 欧美日韩一区在线| 欧美日韩精品一区二区天天拍小说| 在线日韩国产精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91视频在线观看免费| 色婷婷久久久久swag精品| 日本国产一区二区| 欧美午夜片在线看| 欧美日韩精品欧美日韩精品一综合| 在线观看日产精品| 在线不卡免费欧美| 欧美电视剧在线看免费| 精品国产精品网麻豆系列| 久久女同性恋中文字幕| 欧美激情一区二区三区四区| 国产精品乱人伦中文| 亚洲精选视频免费看| 图片区日韩欧美亚洲| 青青青伊人色综合久久| 狠狠色狠狠色综合系列| 成人黄色软件下载| 日本精品视频一区二区三区| 欧美精品第1页|