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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? smppclient.cs.svn-base

?? EasySMPP是一個VS.NET平臺下的短信開發(fā)包
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
/*
 * EasySMPP - SMPP protocol library for fast and easy
 * SMSC(Short Message Service Centre) client development
 * even for non-telecom guys.
 * 
 * Easy to use classes covers all needed functionality
 * for SMS applications developers and Content Providers.
 * 
 * Written for .NET 2.0 in C#
 * 
 * Copyright (C) 2006 Balan Andrei, http://balan.name
 * 
 * Licensed under the terms of the GNU Lesser General Public License:
 * 		http://www.opensource.org/licenses/lgpl-license.php
 * 
 * For further information visit:
 * 		http://easysmpp.sf.net/
 * 
 * 
 * "Support Open Source software. What about a donation today?"
 *
 * 
 * File Name: SMPPClient.cs
 * 
 * File Authors:
 * 		Balan Name, http://balan.name
 */

using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;

using EasySMPP;

namespace EasySMPP
{
        /// <summary>
        /// Summary description for SMPPClient.
        /// </summary>
        public class SMPPClient
        {
            
            #region Private variables
            private Socket clientSocket;

            private int connectionState;
            
            private DateTime enquireLinkSendTime;
            private DateTime enquireLinkResponseTime;
            private DateTime lastSeenConnected;
            private DateTime lastPacketSentTime;

            private Timer enquireLinkTimer;
            private int undeliveredMessages = 0;

            private SMSCArray smscArray = new SMSCArray();

            private byte[] mbResponse = new byte[KernelParameters.MaxBufferSize];
            private int mPos = 0;
            private int mLen = 0;
            
            private bool mustBeConnected;

            private int logLevel = 0;
            private byte askDeliveryReceipt = KernelParameters.AskDeliveryReceipt;
            private bool splitLongText = KernelParameters.SplitLongText;
            private int nationalNumberLength = KernelParameters.NationalNumberLength;
            private bool useEnquireLink = KernelParameters.UseEnquireLink;
            private int enquireLinkTimeout = KernelParameters.EnquireLinkTimeout;
            private int reconnectTimeout = KernelParameters.ReconnectTimeout;

            private SortedList sarMessages = SortedList.Synchronized(new SortedList());
            #endregion Private variables

            #region Public Functions

            public SMPPClient()
            {
                connectionState= ConnectionStates.SMPP_SOCKET_DISCONNECTED;

                enquireLinkSendTime = DateTime.Now;
                enquireLinkResponseTime = enquireLinkSendTime.AddSeconds(1);
                lastSeenConnected = DateTime.Now;
                lastPacketSentTime = DateTime.MaxValue;

                mustBeConnected = false;

                TimerCallback timerDelegate = new TimerCallback(checkSystemIntegrity);
                enquireLinkTimer = new Timer(timerDelegate, null, enquireLinkTimeout, enquireLinkTimeout);

            }//SMPPClient

            public void Connect()
            {
                try
                {
                    mustBeConnected = true;
                    connectToSMSC();
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "connectToSMSC | " + ex.ToString());
                }
            }//connectToSMSC

            public void Disconnect()
            {
                try
                {
                    mustBeConnected = false;
                    unBind();
                    disconnectSocket();
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "DisconnectFromSMSC | " + ex.ToString());
                }
            }//DisconnectFromSMSC

            public void ClearSMSC()
            {
                try
                {
                    smscArray.Clear();
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "AddSMSC | " + ex.ToString());
                }

            }//ClearSMSC

            public void AddSMSC(SMSC mSMSC)
            {
                try
                {
                    smscArray.AddSMSC(mSMSC);
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "AddSMSC | " + ex.ToString());
                }

            }//AddSMSC

            #region Send Functions

            public void Send(byte[] data, int n)
            {
                try
                {
                    lastPacketSentTime = DateTime.Now;
                    logMessage(LogLevels.LogPdu, "Sending PDU : " + Tools.ConvertArrayToHexString(data, n));
                    clientSocket.BeginSend(data, 0, n, 0, new AsyncCallback(sendCallback), clientSocket);
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "Send | " + ex.ToString());
                }
            }//Send

            public int SubmitSM(byte sourceAddressTon, byte sourceAddressNpi, string sourceAddress,
                                byte destinationAddressTon, byte destinationAddressNpi, string destinationAddress,
                                byte esmClass, byte protocolId, byte priorityFlag, 
                                DateTime sheduleDeliveryTime, DateTime validityPeriod, byte registeredDelivery, 
                                byte replaceIfPresentFlag, byte dataCoding, byte smDefaultMsgId, 
                                byte[] message)
            {
                try
                {
                    byte[] _destination_addr;
                    byte[] _source_addr;
                    byte[] _SUBMIT_SM_PDU;
                    byte[] _shedule_delivery_time;
                    byte[] _validity_period;
                    int _sequence_number;
                    int pos;
                    byte _sm_length;


                    _SUBMIT_SM_PDU = new byte[KernelParameters.MaxPduSize];

                    ////////////////////////////////////////////////////////////////////////////////////////////////
                    /// Start filling PDU						

                    Tools.CopyIntToArray(0x00000004, _SUBMIT_SM_PDU, 4);
                    _sequence_number = smscArray.currentSMSC.SequenceNumber;
                    Tools.CopyIntToArray(_sequence_number, _SUBMIT_SM_PDU, 12);
                    pos = 16;
                    _SUBMIT_SM_PDU[pos] = 0x00; //service_type
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = sourceAddressTon;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = sourceAddressNpi;
                    pos += 1;
                    _source_addr = Tools.ConvertStringToByteArray(Tools.GetString(sourceAddress, 20, ""));
                    Array.Copy(_source_addr, 0, _SUBMIT_SM_PDU, pos, _source_addr.Length);
                    pos += _source_addr.Length;
                    _SUBMIT_SM_PDU[pos] = 0x00;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = destinationAddressTon;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = destinationAddressNpi;
                    pos += 1;
                    _destination_addr = Tools.ConvertStringToByteArray(Tools.GetString(destinationAddress, 20, ""));
                    Array.Copy(_destination_addr, 0, _SUBMIT_SM_PDU, pos, _destination_addr.Length);
                    pos += _destination_addr.Length;
                    _SUBMIT_SM_PDU[pos] = 0x00;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = esmClass;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = protocolId;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = priorityFlag;
                    pos += 1;
                    _shedule_delivery_time = Tools.ConvertStringToByteArray(Tools.GetDateString(sheduleDeliveryTime));
                    Array.Copy(_shedule_delivery_time, 0, _SUBMIT_SM_PDU, pos, _shedule_delivery_time.Length);
                    pos += _shedule_delivery_time.Length;
                    _SUBMIT_SM_PDU[pos] = 0x00;
                    pos += 1;
                    _validity_period = Tools.ConvertStringToByteArray(Tools.GetDateString(validityPeriod));
                    Array.Copy(_validity_period, 0, _SUBMIT_SM_PDU, pos, _validity_period.Length);
                    pos += _validity_period.Length;
                    _SUBMIT_SM_PDU[pos] = 0x00;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = registeredDelivery;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = replaceIfPresentFlag;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = dataCoding;
                    pos += 1;
                    _SUBMIT_SM_PDU[pos] = smDefaultMsgId;
                    pos += 1;

                    _sm_length = message.Length > 254 ? (byte)254 : (byte)message.Length;

                    _SUBMIT_SM_PDU[pos] = _sm_length;
                    pos += 1;
                    Array.Copy(message, 0, _SUBMIT_SM_PDU, pos, _sm_length);
                    pos += _sm_length;

                    Tools.CopyIntToArray(pos, _SUBMIT_SM_PDU, 0);

                    Send(_SUBMIT_SM_PDU, pos);
                    undeliveredMessages++;
                    return _sequence_number;
                }
                catch (Exception ex)
                {
                    logMessage(LogLevels.LogExceptions, "SubmitSM | " + ex.ToString());
                }
                return -1;

            }//SubmitSM

            public int DataSM(byte sourceAddressTon, byte sourceAddressNpi, string sourceAddress,
                                byte destinationAddressTon, byte destinationAddressNpi, string destinationAddress,
                                byte esmClass,
                                byte registeredDelivery,
                                byte dataCoding,
                                byte[] data)
            {
                try
                {
                    byte[] _destination_addr;
                    byte[] _source_addr;
                    byte[] _DATA_SM_PDU;
                    int _sequence_number;
                    int pos;
                    Int16 _sm_length;


                    _DATA_SM_PDU = new byte[KernelParameters.MaxPduSize];

                    ////////////////////////////////////////////////////////////////////////////////////////////////
                    /// Start filling PDU						

                    Tools.CopyIntToArray(0x00000103, _DATA_SM_PDU, 4);
                    _sequence_number = smscArray.currentSMSC.SequenceNumber;
                    Tools.CopyIntToArray(_sequence_number, _DATA_SM_PDU, 12);
                    pos = 16;
                    _DATA_SM_PDU[pos] = 0x00; //service_type
                    pos += 1;
                    _DATA_SM_PDU[pos] = sourceAddressTon;
                    pos += 1;
                    _DATA_SM_PDU[pos] = sourceAddressNpi;
                    pos += 1;
                    _source_addr = Tools.ConvertStringToByteArray(Tools.GetString(sourceAddress, 20, ""));
                    Array.Copy(_source_addr, 0, _DATA_SM_PDU, pos, _source_addr.Length);
                    pos += _source_addr.Length;
                    _DATA_SM_PDU[pos] = 0x00;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一二三| 日韩中文欧美在线| 高清视频一区二区| 久久色中文字幕| 东方aⅴ免费观看久久av| 国产精品久久久久影院亚瑟 | 国产精品理论片| 一区免费观看视频| 国产一区二区三区不卡在线观看| 欧美视频在线一区| 精品少妇一区二区三区在线视频| 在线视频一区二区三| 538在线一区二区精品国产| 婷婷久久综合九色综合绿巨人| 91精品黄色片免费大全| 国产伦精品一区二区三区在线观看| 久久久久久麻豆| 91在线视频播放地址| 五月综合激情日本mⅴ| 精品国产成人系列| 一本大道久久a久久精二百 | 欧美男男青年gay1069videost| 天天色 色综合| 老色鬼精品视频在线观看播放| 全国精品久久少妇| 日韩精品一区在线| 91社区在线播放| 日韩不卡一区二区三区| 亚洲精品一区二区三区99| 一本到不卡精品视频在线观看| 欧美a一区二区| 亚洲欧洲日韩在线| 日韩视频一区二区三区在线播放| 成人短视频下载| 青青草97国产精品免费观看 | 欧美另类变人与禽xxxxx| 国产成人亚洲综合a∨猫咪| 亚洲主播在线播放| 久久免费视频色| 欧美久久久久免费| eeuss鲁片一区二区三区在线看| 另类的小说在线视频另类成人小视频在线| 国产精品成人免费精品自在线观看 | 精品免费一区二区三区| 欧洲亚洲精品在线| 99精品视频一区二区三区| 精品一区二区三区视频| 亚洲影视资源网| 国产精品久久久久久久久晋中| 欧美一区二区三区思思人| 91官网在线免费观看| 国产99精品国产| 精品系列免费在线观看| 日韩av中文在线观看| 亚洲一区在线观看网站| 中文字幕中文字幕一区| 国产欧美日韩亚州综合| 精品国产乱码久久| 欧美一级欧美三级| 欧美人狂配大交3d怪物一区| 色狠狠综合天天综合综合| 成人高清免费观看| 成人精品一区二区三区四区| 国产综合久久久久影院| 久久精品国产一区二区三| 秋霞电影网一区二区| 日韩高清不卡一区| 天堂av在线一区| 亚洲成人av一区二区三区| 欧美性色欧美a在线播放| 日本欧美大码aⅴ在线播放| 国产精品久久午夜夜伦鲁鲁| 久久久蜜臀国产一区二区| 精品91自产拍在线观看一区| 日韩一区二区三区免费观看| 欧美疯狂做受xxxx富婆| 欧美年轻男男videosbes| 欧美日韩视频在线观看一区二区三区| 日本道精品一区二区三区| 色综合久久久久综合体桃花网| 色哟哟国产精品免费观看| 色视频欧美一区二区三区| 91福利国产精品| 欧美日韩精品欧美日韩精品一综合| 欧美视频一区二区在线观看| 欧美日韩日日摸| 日韩亚洲电影在线| 久久一二三国产| 一区在线播放视频| 亚洲一区二区欧美激情| 麻豆精品精品国产自在97香蕉| 久久电影网站中文字幕| 国产成人亚洲综合a∨猫咪| 99精品在线观看视频| 欧美日韩另类国产亚洲欧美一级| 欧美人妇做爰xxxⅹ性高电影| 日韩免费视频线观看| 久久久国产精品午夜一区ai换脸| 国产精品污网站| 亚洲自拍都市欧美小说| 久久精品国产精品亚洲红杏| 国产成人一区在线| 在线视频观看一区| 日韩精品中文字幕在线不卡尤物| 久久久国产综合精品女国产盗摄| 中文字幕一区二区三区蜜月| 亚洲成人自拍网| 国产在线精品免费| 91麻豆swag| 日韩一级片在线播放| 国产精品亲子乱子伦xxxx裸| 亚洲高清免费观看高清完整版在线观看| 男男gaygay亚洲| 不卡一二三区首页| 欧美高清视频不卡网| 国产亚洲婷婷免费| 五月激情综合婷婷| 成人妖精视频yjsp地址| 欧美在线一区二区三区| 久久综合网色—综合色88| 亚洲人成网站影音先锋播放| 久久99热99| 欧美性大战久久久久久久| 精品久久久久久久久久久久久久久 | 亚洲成精国产精品女| 国产精品综合网| 欧美二区在线观看| 日本一区二区三区电影| 日韩精品一级二级 | 99热这里都是精品| 国产精品成人免费精品自在线观看| 国产高清成人在线| 亚洲激情自拍视频| 欧美一级高清片| 日韩精品成人一区二区在线| 亚洲在线观看免费视频| 国产成人免费视频网站高清观看视频 | 欧美一级免费观看| 亚洲日本免费电影| 国产精品主播直播| 91精品国产欧美一区二区| 亚洲欧洲综合另类在线| 成人做爰69片免费看网站| 欧美成人乱码一区二区三区| 天天操天天综合网| 欧美少妇性性性| 亚洲精品成人悠悠色影视| 不卡av电影在线播放| 久久这里只有精品首页| 日韩激情一二三区| 91看片淫黄大片一级在线观看| 久久久www成人免费毛片麻豆| 青青草97国产精品免费观看无弹窗版| 91尤物视频在线观看| 国产精品伦一区二区三级视频| 蜜桃免费网站一区二区三区| 视频一区视频二区中文字幕| 玖玖九九国产精品| 欧美怡红院视频| 亚洲一级二级在线| 欧美专区日韩专区| 亚洲一区二区美女| 欧美日韩精品免费观看视频| 伊人一区二区三区| 色94色欧美sute亚洲线路一ni| 亚洲国产精品黑人久久久| 成人夜色视频网站在线观看| 国产精品三级视频| 豆国产96在线|亚洲| 国产精品久久影院| 91在线免费视频观看| 免费成人你懂的| 亚洲精品一区二区三区99| 国产永久精品大片wwwapp| 欧美大尺度电影在线| 国产美女视频91| 国产肉丝袜一区二区| www.av亚洲| 一区二区三区在线视频免费| 欧美亚洲国产一区二区三区| 亚洲香肠在线观看| 日韩一区二区三区精品视频| 麻豆成人久久精品二区三区小说| 精品国产一区二区三区四区四| 韩国成人在线视频| 中文字幕制服丝袜成人av| 色乱码一区二区三区88| 日韩国产欧美三级| 久久一区二区三区四区| 成人av免费在线观看| 亚洲一区二区三区美女| 日韩欧美国产高清| 国产成人午夜精品影院观看视频 | 国产成人亚洲综合a∨婷婷图片| 国产三级欧美三级日产三级99| 91亚洲精品乱码久久久久久蜜桃| 亚洲另类在线一区| 欧美一区二区三区免费大片| 国产永久精品大片wwwapp | 久久综合久久综合久久综合|