??xml version="1.0" encoding="utf-8" standalone="yes"?> CMPP?/span>SMPP都是短信协议中的一U,但它们不是同一cd的协议?/span>SMPP?/span>ESME?/span>SMCQ短信中心)之间的协议,?/span>CMPP?/span>SP和中国移?/span>ISMG之间的通讯协议?/span> 以下?/span>CMPP 3.0文档中的囄?/span> ?/span>CMPP对应的协议有Q联通的SGIP协议Q中国电信的SMGP协议Q网通的CNGP协议?/span> 作ؓSPQ只需要了?/span>CMPPQ不需要了?/span>SMPP?/span> SMPP协议是一个国际标准,?/span>SMS论坛制定Q官方网址?/span>smsforum.netQ截?/span> CMPP最新版本似乎是3.0。现在(2006q?/span>7月)Q大多数q是使用CMPP 2.0?/span>CMPP协议没有做到向后兼容Q?/span>3.0的文档本w也没有讲到兼容的问题,甚至认ؓQ协议制定者压Ҏ惌要兼宏V?/span>CMPP 3.0没做到向后兼容导致了一个问题,是SP无法qx升?/span> PDU是协议数据单元的~写Q?/span>SMPP?/span>CMPP都用最先一?/span>4位的长度标志整个PDU的长度?/span> SMPP Packet 消息?/span> 必填参数 可选参?/span> CMPP Packet 消息?/span> 消息?/span> SMPP是一个国际标准,不同?/span>SMC的是实现可能要增加特定参敎ͼZ具备更好的扩展性,SMPP 3.4以上版本Q增加了可选参敎ͼ?/span>5.0中,可选参数叫?/span>TLVTable?/span> CMPP是中国移动定义的其内?/span>ISMG之间?/span>ISMG?/span>SP之间的通讯标准Q涉及一些具体的计费信息Q但没有可选参数?/span> ?/span>SMPP中,消息头包?/span>4部分Q?/span>PDU长度?/span>Command_Id?/span>Command_Status?/span>Sequence_Id。其?/span>Command_Status字段Q只在回应消息中使用Q存在冗余?/span> CMPP中,消息头部包括3部分Q?/span>PDU长度?/span>Command_Id?/span>Sequence_Id。个为,CMPP中的消息_不包?/span>Command_StatusQ似乎更好一些?/span> SMPP?/span>CMPP都支持异步传输,CMPP中,异步传输的窗口大ؓ16?/span> CMPP使用一个连接发送短信息和接收短信息?/span> SMPP支持多种的连接,其中TXcd的连接,只能发送短信息Q?/span>RXcd的连接只能接收短信息Q?/span>TRXcd的连接支持接收和发送短信息?/span> SMPP 3.4中,消息传输模式分三中:Store And Forward?/span>Datagram?/span>Forward。分别用在大吞吐量、可靠性保证等不同的应用场合?/span> CMPP没有规定其消息传输的模式Q根据实际用的情况看来Q华为的|关的消息传输模式类?/span>SMPP协议中规定的Datagram模式?/span> 转自Q?a >http://zhao860606.blog.163.com/blog/static/105838171200910233225699/ Unicode、UTFQ? ?ISO8859-1到底有什么区?/p>
1.本文主要包括以下几个斚wQ编码基本知识,javaQ系lYӞurlQ工兯Y件等? 4.iso-8859-1是JAVA|络传输使用的标?字符?而gb2312是标准中文字W集,当你作出提交表单{需要网l传输的操作的时?需要把 iso-8859-1转换为gb2312字符集显C?否则如果按浏览器的gb2312格式来解释iso-8859-1字符集的?׃2者不兼容,所以会 是ؕ?
如图Q将单元?双的单元格拆分成两个或更多Q请按照如下步骤操作?br />1、插入一?br />
2、将单元?和下面的单元D行合q?br />
效果Q?br />
]]>q同类型协?/span>
<!--[endif]-->最新版本和兼容
PDU格式
<!--[endif]-->消息传输模式
]]>
在下面的描述中,以"中文"两个字ؓ例,l查表可以知道其GB2312~码?d6d0 cec4"QUnicode~码?4e2d 6587"QUTF~码是"e4b8ad e69687"。注意,q两个字没有iso8859-1~码Q但可以用iso8859-1~码?表示"?
2. ~码基本知识
最早的~码是iso8859-1Q和ascii~码怼。但Z方便表示各种各样的语aQ逐渐出现了很多标准编码,重要的有如下几个?
2.1. iso8859-1 通常叫做Latin-1
属于单字节编码,最多能表示的字W范围是0-255Q应用于英文pd。比如,字母a的编码ؓ0x61=97?
很明显,iso8859-1~码表示的字W范围很H,无法表示中文字符。但是,׃是单字节~码Q和计算机最基础的表C单位一_所以很多时候,仍旧使用iso8859-1~码来表C。而且在很多协议上Q默认用该~码。比如,虽然"中文"两个字不存在iso8859-1~码Q以gb2312~码ZQ应该是"d6d0 cec4"两个字符Q用iso8859-1~码的时候则它拆开?个字节来表示Q?d6 d0 ce c4"Q事实上Q在q行存储的时候,也是以字节ؓ单位处理的)。而如果是UTF~码Q则?个字?e4 b8 ad e6 96 87"。很明显Q这U表C方法还需要以另一U编码ؓ基础?
2.2. GB2312/GBK
q就是汉子的国标码,专门用来表示汉字Q是双字节编码,而英文字母和iso8859-1一_兼容iso8859-1~码Q。其中gbk~码能够用来同时表示J体字和体字Q而gb2312只能表示体字Qgbk是兼容gb2312~码的?
2.3. unicode
q是最l一的编码,可以用来表示所有语a的字W,而且是定长双字节Q也有四字节的)~码Q包括英文字母在内。所以可以说它是不兼容iso8859-1~码的,也不兼容M~码。不q,相对于iso8859-1~码来说Quniocode~码只是在前面增加了一?字节Q比如字母a?00 61"?
需要说明的是,定长~码便于计算机处理(注意GB2312/GBK不是定长~码Q,而unicode又可以用来表C所有字W,所以在很多软g内部是用unicode~码来处理的Q比如java?
2.4. UTF
考虑到unicode~码不兼容iso8859-1~码Q而且Ҏ占用更多的空_因ؓ对于英文字母Qunicode也需要两个字节来表示。所以unicode不便于传输和存储。因此而生了utf~码Qutf~码兼容iso8859-1~码Q同时也可以用来表示所有语a的字W,不过Qutf~码是不定长~码Q每一个字W的长度?-6个字节不{。另外,utf~码自带单的校验功能。一般来Ԍ英文字母都是用一个字节表C,而汉字用三个字节?
注意Q虽然说utf是ؓ了用更的I间而用的Q但那只是相对于unicode~码来说Q如果已l知道是汉字Q则使用GB2312/GBK无疑是最节省的。不q另一斚wQ值得说明的是Q虽然utf~码Ҏ字?个字节,但即使对于汉字网,utf~码也会比unicode~码节省Q因为网中包含了很多的英文字符?
3. java对字W的处理
在java应用软g中,会有多处涉及到字W集~码Q有些地斚w要进行正的讄Q有些地斚w要进行一定程度的处理?
3.1. getBytes(charset)
q是java字符串处理的一个标准函敎ͼ其作用是字W串所表示的字W按照charset~码Qƈ以字节方式表C。注意字W串在java内存中L按unicode~码存储的。比?中文"Q正常情况下Q即没有错误的时候)存储?4e2d 6587"Q如果charset?gbk"Q则被编码ؓ"d6d0 cec4"Q然后返回字?d6 d0 ce c4"。如果charset?utf8"则最后是"e4 b8 ad e6 96 87"。如果是"iso8859-1"Q则׃无法~码Q最后返?"3f 3f"Q两个问P?
3.2. new String(charset)
q是java字符串处理的另一个标准函敎ͼ和上一个函数的作用相反Q将字节数组按照charset~码q行l合识别Q最后{换ؓunicode存储。参考上qgetBytes的例子,"gbk" ?utf8"都可以得出正的l果"4e2d 6587"Q但iso8859-1最后变成了"003f 003f"Q两个问P?
因ؓutf8可以用来表示/~码所有字W,所以new String( str.getBytes( "utf8" ), "utf8" ) === strQ即完全可逆?
3.3. setCharacterEncoding()
该函数用来设|httph或者相应的~码?
对于requestQ是指提交内容的~码Q指定后可以通过getParameter()则直接获得正的字符Ԍ如果不指定,则默认用iso8859-1~码Q需要进一步处理。参见下q?表单输入"。值得注意的是在执行setCharacterEncoding()之前Q不能执行Q何getParameter()。java doc上说明:This method must be called prior to reading request parameters or reading input using getReader()。而且Q该指定只对POSTҎ有效Q对GETҎ无效。分析原因,应该是在执行W一个getParameter()的时候,java会按照~码分析所有的提交内容Q而后l的getParameter()不再q行分析Q所以setCharacterEncoding()无效。而对于GETҎ提交表单是,提交的内容在URL中,一开始就已经按照~码分析所有的提交内容QsetCharacterEncoding()自然无效?/p>
]]>
2、端口被q程号ؓ2016的进E占用,l箋执行下面命oQtasklist|findstr "q程id"
如图所C,javaw.exe占用了你?080端口?
]]>
2011-6-26 13:05:23 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/bin/client;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/bin;D:/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/../jre/lib/i386;F:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;D:\MinGW\bin;D:\Djgpp\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;D:\Program Files\IDM Computer Solutions\UltraEdit\;D:\Program Files\ICYPlayer\Codecs\;D:\eclipse-jee-indigo-win32\eclipse;
2011-6-26 13:05:23 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:web' did not find a matching property.
2011-6-26 13:05:24 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
2011-6-26 13:05:24 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
2011-6-26 13:05:24 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1273 ms
2011-6-26 13:05:24 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
2011-6-26 13:05:24 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.16
2011-6-26 13:05:24 org.apache.catalina.util.SessionIdGenerator createSecureRandom
信息: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [172] milliseconds.
2011-6-26 13:05:24 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory docs
2011-6-26 13:05:25 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory examples
2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2011-6-26 13:05:25 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache','org.apache.jasper.compiler.TldLocationsCache@1867df9')
2011-6-26 13:05:25 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory host-manager
2011-6-26 13:05:26 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory manager
2011-6-26 13:05:26 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2011-6-26 13:05:26 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
2011-6-26 13:05:26 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
2011-6-26 13:05:26 org.apache.catalina.startup.Catalina start
信息: Server startup in 2085 ms
当我打开IEӞ输入http://localhost:8080/ 想不到的是,却报?04的错?/p>
q想不至于吧Q于时要重复了好几遍操作Q结果都一P很是奇怪,我想是不是tomcat 有什么问题,于是我是qeclipseQ单独启动tomcatQ启动完Q刷C面Q正常的tomcat面出来了?/p>
到此得出个问题,肯定是eclipse的问题了Q应该不是Y件的什么bugQ可能是在某个地方设|有问题Q从q个角度找下去,后来发现Q原来在eclipse中的server中添加一个新的服务时Qeclipse默认值有点小问题Q?/p>
具体操作如下Q?/p>
1、找到server操作H口Q双M面的tomcat服务
Q、在打开的设|中Q将Server Locations的选项选成W二?#8220;Use Tomcat installation (takes control of .........)”
现在h面已经好了Q能够正常出现大家熟悉的面Q接下你要做的,你懂的?/p>
l束语:要是q个选项是灰的,不能够改Q请删除Q再重新试试Q不要启动服务,刚添加tomcat时就切换到该H口q行以下两步Q就可以了。eclipse 这w认值选成W一个选项了。导致了今天的问题,希望能够l出现相同问题的人有所帮助Q?/p>