<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>专注于blackberry &#187; push</title>
	<atom:link href="http://www.inblackberry.com/web/tag/push/feed" rel="self" type="application/rss+xml" />
	<link>http://www.inblackberry.com/web</link>
	<description>blackberry</description>
	<pubDate>Thu, 26 Aug 2010 14:19:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>故技重施：Blackberry Push API</title>
		<link>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html</link>
		<comments>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html#comments</comments>
		<pubDate>Mon, 29 Jun 2009 11:46:20 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[开发]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[BES]]></category>

		<category><![CDATA[blackberry]]></category>

		<category><![CDATA[mds]]></category>

		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/?p=137</guid>
		<description><![CDATA[<p>大概是6月初，RIM以很强的声势推出一个新服务，名曰Blackberry Push API。在没有看文档前，我非常憧憬RIM能给我们带来惊喜。但是我看完之后，发现RIM仅仅把原来的技术重新包装了一遍。</p>
<p>从商业的角度讲，我非常赞成RIM的这种做法，现在的很多新概念有很多都是把N年以前的东西拿出来翻新一下，例如AJax，SaaS等，都取得了不错的效果。</p>
<p>但是从技术角度上讲，也确实没什么。</p>
<p>我将该服务总结为一句话，即将Blackberry最具特色的PUSH功能应用到客户的需求上。</p>
<p>即便如此，我还是将我N年以前使用过的技术重温一下，顺便也说说PUSH API 的应用。</p>
<p>应用背景：</p>
<p>先举个例子，未必是真实的。假如上海有家出租车公司小众（不是大众），要通知司机小张，有个客户在人民广场的来福士广场有个客户于14：00需要车，那么小众通过何种方式将这个信息传给小张呢?假如小众公司正在使用Blackberry的服务，那么可以通过Alert的方式来实现。</p>
<p>现在总结一下：</p>
<ul>
<li>alert</li>
<li>新闻</li>
<li>财经</li>
<li>定单</li>
<li>文档</li>
<li>体育</li>
</ul>
<p>服务不仅仅限于上面。</p>
<p>原理：</p>
<p>先看张图<br />
<a title="push-request-flow by confach, on]]></description>
			<content:encoded><![CDATA[<p>大概是6月初，RIM以很强的声势推出一个新服务，名曰Blackberry Push API。在没有看文档前，我非常憧憬RIM能给我们带来惊喜。但是我看完之后，发现RIM仅仅把原来的技术重新包装了一遍。</p>
<p>从商业的角度讲，我非常赞成RIM的这种做法，现在的很多新概念有很多都是把N年以前的东西拿出来翻新一下，例如AJax，SaaS等，都取得了不错的效果。</p>
<p>但是从技术角度上讲，也确实没什么。</p>
<p>我将该服务总结为一句话，即将Blackberry最具特色的PUSH功能应用到客户的需求上。</p>
<p>即便如此，我还是将我N年以前使用过的技术重温一下，顺便也说说PUSH API 的应用。</p>
<p><strong>应用背景：</strong></p>
<p>先举个例子，未必是真实的。假如上海有家出租车公司小众（不是大众），要通知司机小张，有个客户在人民广场的来福士广场有个客户于14：00需要车，那么小众通过何种方式将这个信息传给小张呢?假如小众公司正在使用Blackberry的服务，那么可以通过Alert的方式来实现。</p>
<p>现在总结一下：</p>
<ul>
<li>alert</li>
<li>新闻</li>
<li>财经</li>
<li>定单</li>
<li>文档</li>
<li>体育</li>
</ul>
<p>服务不仅仅限于上面。</p>
<p><strong>原理：</strong></p>
<p>先看张图<br />
<a title="push-request-flow by confach, on Flickr" href="http://www.flickr.com/photos/taigoo/3670682769/"><img src="http://farm3.static.flickr.com/2457/3670682769_7c00b1efed.jpg" border="0/" alt="push-request-flow" width="500" height="270" /></a><br />
简要解释一下：</p>
<p>先解释身份角色：</p>
<p>Push Initiator：相当于小众公司，后面见车简称PI</p>
<p>Blackberry Push Data Server：相当于部署在小众公司的Blackberry服务基础架构，后面简称BPIS</p>
<p>Mobile Client：司机小张的Blackberry终端，简称，MC</p>
<p>再解释一下流程：</p>
<ol>
<li>PI发送一个push请求，即客户信息</li>
<li>BPIS给出一个返回给PI</li>
<li>BPIS就请求push给MC</li>
<li>MC收到后给出一个ACKnowledge，确认</li>
<li>BPIS给PI一个通知</li>
<li>PI收到后给BPIS一个返回</li>
</ol>
<p>类似的机制和互联网的三次握手类似，就是Request/ACK/Response.目的就是为了保证大家都收到。</p>
<p><strong>优点</strong></p>
<p>很显然，省电，能够及时送达，安全，包括传送，以及安全送达。</p>
<p><strong>实现</strong></p>
<ol>
<li>PAP</li>
<li>XML HTTP 请求</li>
<li>几种push，例如submit，cancel，query等，具体技术细节不讲，因为这些又可以单独拿出来了。</li>
</ol>
<p>综合上述，如果您熟悉PUSH，是不是觉得似曾相识呢。</p>
<p>不管怎么说，从中，我们可以进一步，也更清晰了解Blackberry PUSH这个概念。这在以后的解决方案中提供不少思路。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/blackberry-push-api-just-old-tech.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>尚邮（Shangmail)使用评论</title>
		<link>http://www.inblackberry.com/web/review/shangmail-review.html</link>
		<comments>http://www.inblackberry.com/web/review/shangmail-review.html#comments</comments>
		<pubDate>Sun, 07 Sep 2008 14:22:24 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[言论]]></category>

		<category><![CDATA[blackberry]]></category>

		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/review/shangmail-review.html</guid>
		<description><![CDATA[<p>我很少对一个软件做出特别详细的评论，但是尚邮Shangmail我想我有必要做一下评论，发表一下我的使用经验和建议。</p>
<p>尚邮Shangmail是国内在Blackberry平台上提供push mail的服务。由北京一家刚成立的巴别塔运营,老板是严天亦女士。很早了解尚邮shangmail是因为其下面的某位员工,通过他我才详细知道尚邮Shangmail这个产品。</p>
<p>现在，针对Blackberry的版本已经是4.3版本了。我使用了一下，感觉还可以。下面详细介绍一下我的使用经历。</p>
<h2>安装和使用</h2>
<ul>
<li>下载Service Book </li>
</ul>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 发送email，必须下载service book，这是每个稍有点Blackberry常识的人都知道的。可以到下面链接去下载。通过Blackberry Desktop Manager里的备份和恢复功能来安装Service Book。<a href="http://www.shangmail.com/servicebook.zip">http://www.shangmail.com/servicebook.zip</a></p>
<ul>
<li>下载Shangmail安装软件]]></description>
			<content:encoded><![CDATA[<p>我很少对一个软件做出特别详细的评论，但是尚邮Shangmail我想我有必要做一下评论，发表一下我的使用经验和建议。</p>
<p>尚邮Shangmail是国内在Blackberry平台上提供push mail的服务。由北京一家刚成立的巴别塔运营,老板是严天亦女士。很早了解尚邮shangmail是因为其下面的某位员工,通过他我才详细知道尚邮Shangmail这个产品。</p>
<p>现在，针对Blackberry的版本已经是4.3版本了。我使用了一下，感觉还可以。下面详细介绍一下我的使用经历。</p>
<h2>安装和使用</h2>
<ul>
<li>下载Service Book </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发送email，必须下载service book，这是每个稍有点Blackberry常识的人都知道的。可以到下面链接去下载。通过Blackberry Desktop Manager里的<strong>备份和恢复</strong>功能来安装Service Book。<a href="http://www.shangmail.com/servicebook.zip">http://www.shangmail.com/servicebook.zip</a></p>
<ul>
<li>下载Shangmail安装软件 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下载Blackberry的shangmail版本。请到这里<a href="http://www.shangmail.com/download.html" title="http://www.shangmail.com/download.html">http://www.shangmail.com/download.html</a>下载。如果直接是通过blackberry下载，请访问<a href="http://wap.shangmail.com">http://wap.shangmail.com</a>来下载。确定你的手机型号啦。</p>
<ul>
<li>配置你的邮箱 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 访问<a href="http://www.shangmail.com/register.html" title="http://www.shangmail.com/register.html">http://www.shangmail.com/register.html</a>注册，如果已经有帐号的话直接登录。里面有个<a href="http://www.shangmail.com/user/accounts.html">邮箱管理</a>的选项，最多可以添加2个帐号。按理论上支持所有POP3和IMAP的邮箱都。如果你配置的邮箱有特殊之处，请点击下面的<strong>显示服务器</strong>的checkbox,然后开始配置邮箱。我配置的是SOHU和Gmail的邮箱。SOHU用起来真是不错，但是Gmail刚开始只能发不能收，昨天终于解决了。文章后面给出一些方法以及原理。</p>
<ul>
<li>登录 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp; 打开Shangmail，出现如下界面。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://flickr.com/photos/taigoo/2835369477/"><img border="0" src="http://farm4.static.flickr.com/3146/2835369477_8925272586_m.jpg" alt="" /></a>&nbsp;</p>
<p>&nbsp; 然后打开菜单，出现如下界面:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3202/2835369539_c42e62a942_m.jpg" alt="" /></p>
<p>这里我的已经是登录过的。</p>
<p>如果没有登录过的，会提示让你登录。</p>
<ul>
<li>接收邮件和发送邮件 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接收的邮件会自动放在消息里面，与短消息一起存放。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发送消息还是按照BB的发送操作一样， 打开消息，打开菜单，选择Compose Email即可。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接收到的邮件如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://www.flickr.com/photos/taigoo/2835476811/" title="shasngmail11 by confach, on Flickr"><img border="0" src="http://farm4.static.flickr.com/3289/2835476811_d518e18a4e_o.jpg" alt="shangmail" /></a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编辑邮件如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://farm4.static.flickr.com/3161/2835496403_00f4a1245c_o.jpg" title="Shangmail Compose EMail"><img border="0" src="http://farm4.static.flickr.com/3161/2835496403_00f4a1245c_o.jpg" alt="" /></a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发送成功后的邮件如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="_blank" href="http://www.flickr.com/photos/taigoo/2835476811/" title="shasngmail11 by confach, on Flickr"><img border="0" src="http://farm4.static.flickr.com/3289/2835476811_d518e18a4e_o.jpg" alt="shangmail" /></a></p>
<ul>
<li>Setting </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如下图</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3146/2835369915_e824dba62a_m.jpg" alt="" /></p>
<p>Accounts</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3192/2835370111_aed61b1715_m.jpg" alt="" /></p>
<p>Configure</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3149/2835370181_4735f5c106_m.jpg" alt="" /></p>
<p>&nbsp;</p>
<p>Filters</p>
<p>&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3277/2836206896_ddc1b6148f_m.jpg" alt="" /></p>
<p>&nbsp;</p>
<p>Working Time</p>
<p>&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3201/2835370425_f2c7647ac3_m.jpg" alt="" /></p>
<p>Setting</p>
<p>&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3156/2836206992_e314b9baea_m.jpg" alt="" /></p>
<p>Pim Setting</p>
<p>&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3292/2836207038_93574cb997_m.jpg" alt="" /></p>
<p>Change Password</p>
<p>&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3247/2836207082_3e972014a6_m.jpg" alt="" /></p>
<ul>
<li>&nbsp; 统计 </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 统计流量，收发邮件数</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="http://farm4.static.flickr.com/3162/2836207238_18b49c8588_m.jpg" alt="" /></p>
<p>其实蛮简单的啦。中间最难的是配置邮件。</p>
<h2>经验</h2>
<ul>
<li>如何配置Gmail </li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网上关于配置Gmail的文章很多，但是我认为很多文章没有说到要点。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我关注shangmail很长时间了，而且一直试用。遗憾的是我真没有成功收到过gmail的邮件。昨天我决定将之解决掉。还是老办法配置gmail。遗憾的是仍未成功。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 官方Gmail的配置方法如下（这是正确的,但不够详细）:</p>
<blockquote>
<p>Gmail邮箱的添加同样是以开通pop功能为前提的: 在&ldquo;设置&rdquo;-&gt;&ldquo;POP和转发&rdquo;选项中开启Gmail的POP功能<br />开通pop后，配置信息如下：<br />pop:&nbsp;&nbsp; pop.gmail.com，端口是995，<br />smtp：smtp.gmail.com，端口是465。<br />PS: 发送/接收服务器端口都需要勾选SSL验证。</p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网上有网友成功过，既然别人能成功，为什么我不能成功呢？纳闷。看了shangmail的官方说明：</p>
<blockquote>
<p>8.为什么有时候我的网易、QQ和Gmail邮箱收邮件很慢？<br />因为网易邮箱的特殊性，尚邮服务器放缓了访问频率；<br />QQ邮箱服务器与尚邮服务器是网通VS电信的关系，因此通讯速度非常慢，经常出现连接超时的情况。<br />Gmail邮箱因为是国外的服务器，而且需要建立SSL连接，再加上Gmail邮箱服务器对取信频率设了限，因此您可能会遇到通讯时间比较长有时甚至暂时性被封的情况。</p>
</blockquote>
<p>&nbsp;&nbsp;&nbsp; 我对此深表怀疑，理由如下：</p>
<ol>
<li>既然Google推出了POP和IMAP服务，也就证明客户端例如outlook是可以用的，如果设置取信的频率，这是自己打自己嘴巴。 </li>
<li>为什么国外的BIS一点问题也没有呢？也许是因为人家大公司和Gmail合作，才不会设置取信频率，但是这样有理由吗？目前我对Google的理解，应该不会吧。 </li>
<li>在查找相关资料的时候，找到了另外一家小公司，也推出类似的服务，Consilient，既然人家收取gmail一点问题都没有，所以我相信这不是gmail的问题。因为如果Google真的有取信频率的问题，那么这家小公司怎么可能有特殊服务呢？即使和google有合作协议，这也是需要大把money的。何况google目前好像没有这方面的服务吧。（有没有，我真不太确定，但是我个人觉得没有 </li>
</ol>
<p>基于上面的分析，我觉得不是google的问题，很有可能是shangmail或我的问题。</p>
<p>我确认了一下gmail的配置，没错。我想应该是我的问题。我到Gmail的设置里看了一下，pop是对的呀。</p>
<p>偶然，我发现consilent说Gmail需要将POP打开，而且选择的是第二项，但我选择的是第一项。于是我选择了：</p>
<p><strong><em>Enable POP for mail that arrives from now on</em></strong></p>
<p>OMG，成功了。NND，为什么大家都不说清楚呢，怎么每篇文章都没有仔细介绍呢。</p>
<p>这里说明几个问题：</p>
<ol>
<li>上面说的取信频率问题也许不对 </li>
<li>gmail的pop的2种设置真有猫腻 </li>
<li>shangmail的解释不太聪明。 </li>
</ol>
<p>PS，有网友说使用IMAP，说实话我也测试过，遗憾的是我没有成功。真是要请教高人了。</p>
<h2>评论</h2>
<p><strong>优点：</strong></p>
<ul>
<li>发送邮件相当迅速，而且稳定 </li>
<li>能非常完美的和Blackberry的address book结合起来。可以智能的输入姓名然后得到email地址，另外可以显示邮件的联系人姓名。其实这是blackberry自己的功能，和shangmail无关，但是shangmail能和address book结合起来实现这些功能，已经就很不错了。 </li>
<li>可以设置多个邮箱，类似BIS服务，很棒 </li>
<li>可以设置工作时间，这个有些BIS就没有，比如AT&amp;T </li>
<li>下载附件很棒 </li>
<li>收发邮件看起来稳定，不过收邮件还得继续确认。 </li>
</ul>
<p><strong>缺点</strong>：</p>
<p>每个人都喜欢挑刺，我也不例外：</p>
<ol>
<li>不喜欢在Home界面上多个图标，直接放在Options里面，据我的经验，还真有点小麻烦，但这不是问题 </li>
<li>这个停止和重新启动服务感觉不太方便 </li>
<li>收邮件服务不太稳定 </li>
<li>有时会重新获取同一邮件几次 </li>
<li>耗电量太多 </li>
<li>LED flash有时候还有问题 </li>
<li>有时重新reboot机器，配置消失 </li>
<li>邮件加密。也许是技术原因吧。据我说了解，BES采取的是3DES和AES加密算法。 </li>
<li>提供直接退出的功能。这个家伙只要一进来，就没法退出了，当然直接删除是可以的。 </li>
<li>强烈建议优化程序，减少占用资源。 </li>
<li>用户体验有待改进。动不动来个Operation Done，或者Protocal Error的pop up dialog。 </li>
<li>Server端<strong>用户中心</strong>的<strong>邮箱管理</strong>，<strong>使用ssl验证</strong>始终是否，bug！！！！。 </li>
</ol>
<p>优点和缺点就这么多。总体感觉不错，打70分吧。</p>
<h2>Shangmail不是真正上的push mail</h2>
<p>Shangmail不是真正上的push mail，按照常规理解，一般都是把RIM的那套解决方案作为PUSH MAIL的权威。但是它那套实现起来还真有点费大力气，一是自己提供的服务，例如BES，或者BIS。二是需要移动运营商的大力配合。第一个相比之下好解决一些，第二个恐怕不是大公司，人家都懒得甩你。打个比方说，你跟移动说，&ldquo;哥们，我今天想跟你合作推出xxx服务&rdquo;，移动回答&rdquo;，你是谁呀？&ldquo;，开个玩笑啦。</p>
<p>至于shangmail为什么不是真正意义上的push mail，只是实现了push mail的表面现象？我在以后的文章中详细介绍。因为那可是一门高深的学问，而且关系到很多方面。</p>
<h2><strong>Shangmail的客服</strong></h2>
<p>我曾经在Shangmail的论坛上发个几个帖子，不得不说人家客服回答很及时，我很欣赏，也很感动。</p>
<p>可能因为各方面的原因吧，有些问题就是不能有效解决。其实我们也很理解，毕竟有些连开发人员都不清楚,客服不能解决也在常理之中。总的来说，客服基本上可以解决大部分问题，只有极少数不能解答，这已经非常棒了，而且人家服务态度很不错了。所以，感谢他们啦，例如<a href="http://bbs.shangmail.com/space.php?uid=2978">VickyWu</a>。不知道<a href="http://bbs.shangmail.com/space.php?uid=2978">VickyWu</a>是不是shangmail的员工，要是不是我真是丑大了，:)</p>
<p>&nbsp;</p>
<p><font color="#ff0000"><strong>更新：</strong></font></p>
<h2>使用感言</h2>
<p>&nbsp;经过1个礼拜的试用，收发email都不错，一般在2分钟之内搞定。赞一个。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/review/shangmail-review.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>BlackBerry 应用程序开发者指南 第一卷：基础&#8211;第10章 创建Client/Server Push应用程序</title>
		<link>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-10-push.html</link>
		<comments>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-10-push.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 22:44:14 +0000</pubDate>
		<dc:creator>Taigoo</dc:creator>
		
		<category><![CDATA[文档]]></category>

		<category><![CDATA[api]]></category>

		<category><![CDATA[doc]]></category>

		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-10-push.html</guid>
		<description><![CDATA[<p class="MsoNormal" style="text-align: right" align="right">10</p>
<a name="_Toc125107064">&#160;&#160;&#160;&#160;&#160; 第10</a>章 创建Client/Server Push应用程序




<p class="MsoNormal">Push应用程序</p>
<p]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: right" align="right"><strong><span lang="EN-US" style="font-size: 36pt">10<o:p></o:p></span></strong></p>
<h1><a name="_Toc125107064"><span style="color: #333399; font-family: 宋体">&#160;&#160;&#160;&#160;&#160; 第</span><span lang="EN-US" style="color: #333399">10</span></a><span><span style="color: #333399; font-family: 宋体">章</span><span style="color: #333399"> </span></span><span><span style="color: #333399; font-family: 宋体">创建</span><span lang="EN-US" style="color: #333399">Client/Server Push</span></span><span><span style="color: #333399; font-family: 宋体">应用程序</span></span></h1>
<table class="MsoNormalTable" style="background: #e0e0e0 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><strong><span lang="EN-US" style="color: #333399">Push</span></strong><strong><span style="color: #333399; font-family: 宋体">应用程序</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: #333399">Client/Server push</span></strong><strong><span style="color: #333399; font-family: 宋体">请求</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">编写一个客户端</span><span lang="EN-US" style="color: #333399">push</span></strong><strong><span style="color: #333399; font-family: 宋体">应用程序</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span style="color: #333399; font-family: 宋体">编写一个服务器端</span><span lang="EN-US" style="color: #333399">push</span></strong><strong><span style="color: #333399; font-family: 宋体">应用程序</span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="color: #333399">Push</span></strong><strong><span style="color: #333399; font-family: 宋体">应用程序疑难解答</span></strong></p>
</td>
</tr>
</tbody>
</table>
<h2><a name="_Toc125107065"><span lang="EN-US" style="color: #333399">Push</span></a><span><span style="color: #333399; font-family: 黑体">应用程序</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：<span lang="EN-US">Push</span>应用程序需要<span lang="EN-US">3.5</span>以及后续版本的<span lang="EN-US">Microsoft Exchange BES</span>，或<span lang="EN-US">2.0</span>以及后续版本的<span lang="EN-US">IBM Lotus Domino BES</span>，它们需启用<span lang="EN-US">BlackBerry MDS</span>服务。<span lang="EN-US"> <o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US">Push</span><span style="font-family: 宋体">应用程序将新的</span><span lang="EN-US">web</span><span style="font-family: 宋体">内容和</span><span lang="EN-US">alert</span><span style="font-family: 宋体">发送到指定的用户。用户不必请求下载数据，因为当信息可用时</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序递送这个信息。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">有</span><span lang="EN-US">2</span><span style="font-family: 宋体">种</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序：</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt"><span lang="EN-US"><span>&#160;&#160;&#160;&#160; 1.<span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160; </span></span></span><strong><span style="font-family: 宋体">浏览器</span><span lang="EN-US"> push</span></strong><strong><span style="font-family: 宋体">应用程序</span></strong><span style="font-family: 宋体">：将</span><span lang="EN-US">Web</span><span style="font-family: 宋体">内容发送到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上。</span><span lang="EN-US">BlackBerry </span><span style="font-family: 宋体">浏览器配置支持</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序。</span><span lang="EN-US">WAP</span><span style="font-family: 宋体">浏览器配置支持</span><span lang="EN-US">WAP push</span><span style="font-family: 宋体">应用程序。</span><span lang="EN-US">Internet</span><span style="font-family: 宋体">浏览器配置不支持</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序。参看</span><em><span lang="EN-US">BlackBerry</span></em><em><span style="font-family: 宋体">浏览器开发指南</span></em><span style="font-family: 宋体">获取更多关于编写一个浏览器</span><span lang="EN-US">push </span><span style="font-family: 宋体">应用程序的信息。</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt"><span lang="EN-US"><span>&#160;&#160;&#160; 2.<span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160; </span></span></span><strong><span lang="EN-US">Client/Server push</span></strong><strong><span style="font-family: 宋体">应用程序：将</span></strong><span style="font-family: 宋体">数据</span><span lang="EN-US">push</span><span style="font-family: 宋体">到一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上的客户</span><span lang="EN-US">Java</span><span style="font-family: 宋体">应用程序。</span><span lang="EN-US">Client/Server push</span><span style="font-family: 宋体">应用程序由一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上的客户</span><span lang="EN-US">Client</span><span style="font-family: 宋体">应用程序和一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">内容给它的服务器端应用程序组成。和浏览器</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序相比，这种方法对这种你可以发送出去的内容以及数据是如何处理并且显示在</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上提供了更多的控制。</span></p>
<h2><a name="_Toc125107066"><span lang="EN-US" style="color: #333399">Client/Server push</span></a><span><span style="color: #333399; font-family: 黑体">请求</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体">应用程序可以使用下面的</span><span lang="EN-US">2</span><span style="font-family: 宋体">种方法将内容</span><span lang="EN-US">push</span><span style="font-family: 宋体">到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备：</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt"><span lang="EN-US"><span>&#160;&#160; 1.<span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span><span lang="EN-US">Push Access Protocol</span><span style="font-family: 宋体">（</span><span lang="EN-US">PAP</span><span style="font-family: 宋体">，</span><span lang="EN-US">push</span><span style="font-family: 宋体">访问协议），它是</span><span lang="EN-US">WAP 2.0</span><span style="font-family: 宋体">里的一部分。</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt"><span lang="EN-US"><span>&#160;&#160; 2.<span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span></span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：<span lang="EN-US">MDS</span>服务仅支持<span lang="EN-US">1000</span>个<span lang="EN-US"> push</span>请求，包括了<span lang="EN-US">RIM</span>和<span lang="EN-US">PAP push</span>请求。如果它接收超过<span lang="EN-US">1000</span>个请求，<span lang="EN-US">MDS</span>服务回应服务器一个错误。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">这</span><span lang="EN-US">2</span><span style="font-family: 宋体">种</span><span lang="EN-US">push</span><span style="font-family: 宋体">服务的实现都支持下面的任务：</span></p>
<ul>
<li><span style="font-family: 宋体">发送一个服务器端</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交（</span><span lang="EN-US">submission</span><span style="font-family: 宋体">）。</span> </li>
<li><span style="font-family: 宋体">为</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交指定一个信任的模式。</span> </li>
<li><span style="font-family: 宋体">为</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交指定一个传递前（</span><span lang="EN-US">deliver-before</span><span style="font-family: 宋体">）的时间戳。</span> </li>
<li><span style="font-family: 宋体">请求一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交的结果通知。</span> </li>
</ul>
<p class="MsoNormal"><span lang="EN-US">PAP</span><span style="font-family: 宋体">的实现还支持下面额外的任务：</span></p>
<ul>
<li><span style="font-family: 宋体">为</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交指定一个传递后（</span><span lang="EN-US">deliver-after</span><span style="font-family: 宋体">）时间戳。</span> </li>
<li><span style="font-family: 宋体">取消一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求提交。</span> </li>
<li><span style="font-family: 宋体">查询一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求提交的状态。</span> </li>
</ul>
<h3><a name="_Toc125107067"><span style="color: #333399; font-family: 宋体">存储</span></a><span><span lang="EN-US" style="color: #333399">push</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">PAP push</span><span style="font-family: 宋体">存储在数据库中，但是</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">则存储在</span><span lang="EN-US">RAM</span><span style="font-family: 宋体">中。如果服务器重启，没有递送的</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">可能会丢失。</span></p>
<h3><a name="_Toc125107068"><span style="color: #333399; font-family: 宋体">代码转换（</span></a><span><span lang="EN-US" style="color: #333399">Transcoding</span></span><span><span style="color: #333399; font-family: 宋体">）</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">如果可用，</span><span lang="EN-US">BlackBerry MDS Data Optimization</span><span style="font-family: 宋体">（</span><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体">数据优化）根据它的代码转换器规则将一个代码转换应用到</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求。</span></p>
<p class="MsoNormal"><span lang="EN-US">Push</span><span style="font-family: 宋体">请求可以覆写这些规则并使用</span><span lang="EN-US">transfer-encoding</span><span style="font-family: 宋体">头来请求一个指定的代码转换器转化。例如，如果设置了</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">头</span><span lang="EN-US">transfer-encoding</span><span style="font-family: 宋体">：</span><span lang="EN-US">vnd.wap.wml</span><span style="font-family: 宋体">，那么在它把数据</span><span lang="EN-US">push</span><span style="font-family: 宋体">到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备之前，</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">数据优化服务运行</span><span lang="EN-US">wml</span><span style="font-family: 宋体">代码转换器。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">参看</span><span lang="EN-US">190</span><span style="font-family: 宋体">页的&#8220;代码转换器&#8221;获得更多信息。</span></p>
<h3><a name="_Toc125107069"><span style="color: #333399; font-family: 宋体">信任模式</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e0e0e0 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">信任模式</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e0e0e0 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: white 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">透明层信任模式</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: white 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">当</span><span lang="EN-US">push</span><span style="font-family: 宋体">到达</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备时，</span><span lang="EN-US">BlackBerry MDS</span><span style="font-family: 宋体">连接服务启动一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求指定的</span><span lang="EN-US">URL</span><span style="font-family: 宋体">连接来通知传送的服务器。手持设备软件</span><span lang="EN-US">3.6</span><span style="font-family: 宋体">或以后版本支持透明层确认。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e0e0e0 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">应用程序级信任模式</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e0e0e0 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">当</span><span lang="EN-US">push</span><span style="font-family: 宋体">到达</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备时，应用程序确认内容。</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">连接服务启动一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求时指定的</span><span lang="EN-US">URL</span><span style="font-family: 宋体">连接来通知传送的服务器。如果遇到错误，</span><span lang="EN-US">MDN</span><span style="font-family: 宋体">连接服务发送一个错误消息到服务器。手持设备软件</span><span lang="EN-US">4.0</span><span style="font-family: 宋体">或以后版本支持应用程序级确认</span></p>
<p class="MsoNormal"><span lang="EN-US">RIM push</span><span style="font-family: 宋体">提供一个优先应用程序（</span><span lang="EN-US">Application-preferred</span><span style="font-family: 宋体">）的选项</span><span lang="EN-US">,</span><span style="font-family: 宋体">在手持设备软件</span><span lang="EN-US">4.0</span><span style="font-family: 宋体">或以后版本中，它使用应用程序级确认，否则就是透明层确认。</span></p>
<p class="MsoNormal"><strong><span style="font-family: 宋体">注</span></strong><span lang="EN-US">:3.8</span><span style="font-family: 宋体">以及更早版本的</span><span lang="EN-US">MDS </span><span style="font-family: 宋体">服务不可以为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备特征查询</span><span lang="EN-US">BES</span><span style="font-family: 宋体">。为了得到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备的特征，</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">连接服务必须在它接收到一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求之前接收到一个</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">请求。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为了提供必要的请求，使用</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">浏览器和一个</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务浏览器配置浏览一个</span><span lang="EN-US">web</span><span style="font-family: 宋体">页面。</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107070"><span style="color: #333399; font-family: 宋体">发送一个</span></a><span><span lang="EN-US" style="color: #333399">RIM push</span></span><span><span style="color: #333399; font-family: 宋体">请求</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">为了使用</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">将数据</span><span lang="EN-US">push</span><span style="font-family: 宋体">到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上，使用下面的格式发送一个</span><span lang="EN-US">HTTP POST</span><span style="font-family: 宋体">请求，在这里</span><strong><em><span lang="EN-US">&lt;destination&gt;</span></em></strong><span style="font-family: 宋体">是目的</span><span lang="EN-US">PIN</span><span style="font-family: 宋体">或者</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址，</span><strong><em><span lang="EN-US">&lt;port&gt;</span></em></strong><span style="font-family: 宋体">是目的端口，</span><strong><em><span lang="EN-US">&lt;uri&gt;</span></em></strong><span style="font-family: 宋体">是发送到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">的</span><span lang="EN-US">URI</span><span style="font-family: 宋体">，</span><strong><em><span lang="EN-US">&lt;content&gt;</span></em></strong><span style="font-family: 宋体">是字节流：</span></p>
<p class="MsoNormal"><strong><em><span lang="EN-US" style="font-family: &#39;andale mono&#39;">/push?DESTINATION=&lt;destination&gt;&amp;PORT=&lt;port&gt;&amp;REQUESTURI=&lt;uri&gt;&lt;headers&gt;&lt;content&gt;<o:p></o:p></span></em></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">对于</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">请求，下列的头是有效的：</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal" style="text-align: center" align="center"><span lang="EN-US">HTTP</span><span style="font-family: 宋体">头</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal" style="text-align: center" align="center"><span style="font-family: 宋体">描述</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">X-RIM-Push-ID</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">这个头指定了一个唯一的消息</span><span lang="EN-US">ID</span><span style="font-family: 宋体">，它可以用来取消或检查消息的状态。典型地，以一个值组合指定</span><span lang="EN-US">URL</span><span style="font-family: 宋体">，例如</span><span lang="EN-US">123@blackberry.com.</span><span style="font-family: 宋体">如果忽略这个头，</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务生成一个唯一的消息</span><span lang="EN-US">ID.</span></p>
<p class="MsoNormal"><strong><span style="font-family: 宋体">注</span></strong><span lang="EN-US">:Push</span><span style="font-family: 宋体">标识符不得以</span><span lang="EN-US">@ppg.rim.com</span><span style="font-family: 宋体">结束。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">X-RIM-Push-NotifyURL</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">这个头指定一个</span><span lang="EN-US">URL</span><span style="font-family: 宋体">来发送一个结果通知。这个结果通知包含了指定的消息</span><span lang="EN-US">ID</span><span style="font-family: 宋体">的</span><span lang="EN-US">X-RIM-Push-ID</span><span style="font-family: 宋体">头，以及指定</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">响应代码的</span><span lang="EN-US">X-RIM-Push-Status</span><span style="font-family: 宋体">头。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">X-RIM-Push-Reliability-Mode</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">这个头指定了内容透明级</span><span lang="EN-US">(TRANSPORT),</span><span style="font-family: 宋体">应用程序级</span><span lang="EN-US">(APPLICATION)</span><span style="font-family: 宋体">或优先应用程序（</span><span lang="EN-US">APPLICATION-PREFERRED</span><span style="font-family: 宋体">）的传送信任模式。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">X-RIM-Push-Deliver-Before</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">这个头指定将内容传送给</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备的日期和时间。在这个时间之前没有传送的内容不会被传送。</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span lang="EN-US">X-RIM-Push-Priority</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 213.05pt; padding-top: 0cm" valign="top" width="284">
<p class="MsoNormal"><span style="font-family: 宋体">这个头指定了频道</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息的优先级。允许的字符串有</span><span lang="EN-US">none(</span><span style="font-family: 宋体">缺省</span><span lang="EN-US">)</span><span style="font-family: 宋体">，</span><span lang="EN-US">low,medium</span><span style="font-family: 宋体">，以及</span><span lang="EN-US">high.</span><span style="font-family: 宋体">如果优先级为</span><span lang="EN-US">low,medium</span><span style="font-family: 宋体">或</span><span lang="EN-US">high,</span><span style="font-family: 宋体">用户接收频道更新的通知。如果优先级为</span><span lang="EN-US">high</span><span style="font-family: 宋体">，一个状态对话框会伴随着通知。</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107071"><span style="color: #333399; font-family: 宋体">发送一个</span></a><span><span lang="EN-US" style="color: #333399">PAP push</span></span><span><span style="color: #333399; font-family: 宋体">请求</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">为了使用</span><span lang="EN-US">PAP</span><span style="font-family: 宋体">将数据</span><span lang="EN-US">push</span><span style="font-family: 宋体">到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备，使用下面的格式发送一个</span><span lang="EN-US">HTTP POST</span><span style="font-family: 宋体">请求：</span></p>
<p class="MsoNormal"><strong><em><span lang="EN-US">/pap<o:p></o:p></span></em></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">这个请求是一个</span><span lang="EN-US">MIME</span><span style="font-family: 宋体">多部分（</span><span lang="EN-US">multipart</span><span style="font-family: 宋体">）的消息，它由下面的项组成：</span></p>
<ul>
<li><span style="font-family: 宋体">一个指定控制实体（</span><span lang="EN-US">entity</span><span style="font-family: 宋体">）</span><span lang="EN-US">XML</span><span style="font-family: 宋体">文档。</span> </li>
<li><span lang="EN-US">push</span><span style="font-family: 宋体">内容。</span> </li>
</ul>
<p class="MsoNormal"><span style="font-family: 宋体">例如，控制实体可能包含</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备地址，消息</span><span lang="EN-US">ID</span><span style="font-family: 宋体">，以及传送时间戳信息。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">使用</span><span lang="EN-US">PAP DTD(Document Type Definition)</span><span style="font-family: 宋体">指定下面的属性：</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">XML</span><span style="font-family: 宋体">控制实体属性</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="218">
<p class="MsoNormal"><span style="font-family: 宋体">实例</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">X-Wap-Application-Id</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">这个实体属性指定了</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">的</span><span lang="EN-US">REQUEST URI HTTP</span><span style="font-family: 宋体">同等体。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US">&#8220;/&#8221;</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">push-id</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定唯一的消息</span><span lang="EN-US">ID.</span><span style="font-family: 宋体">另外，这个控制实体属性可以用来取消或检查消息的状态。建议你在一个值的组合里使用一个</span><span lang="EN-US">URL</span><span style="font-family: 宋体">，例如，</span><span lang="EN-US"><a href="mailto:123@BlackBerry.com">123@BlackBerry.com</a>.</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">123@wapforum.org</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">ppg-notify-requested-to</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定发送结果通知的</span><span lang="EN-US">URL.</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US"><a href="http://wapforum:8080/">http://wapforum:8080/</a></span></p>
<p class="MsoNormal"><span lang="EN-US">ReceivePAPNotification.</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">deliver-before-timestamp</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定日期和时间，通过它将内容传送到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备。这个时间之前的没有发送的内容将会丢失。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体">以</span><span lang="EN-US">UTC</span><span style="font-family: 宋体">格式显示时间</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US">YYYY-MM-DDThh:mm:ssZ</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">在这里：</span></p>
<ul>
<li><span lang="EN-US">YYYY</span><span style="font-family: 宋体">是</span><span lang="EN-US">4</span><span style="font-family: 宋体">个数字的年份。</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;</span></span></span><span lang="EN-US">MM</span><span style="font-family: 宋体">是</span><span lang="EN-US">2</span><span style="font-family: 宋体">个数字的月份。</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;</span></span></span><span lang="EN-US">DD</span><span style="font-family: 宋体">是</span><span lang="EN-US">2</span><span style="font-family: 宋体">个数字的日期。</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;</span></span></span><span lang="EN-US">hh</span><span style="font-family: 宋体">是</span><span lang="EN-US">2</span><span style="font-family: 宋体">个数字的</span><span lang="EN-US">24</span><span style="font-family: 宋体">小时制式的小时。</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;</span></span></span><span lang="EN-US">mm</span><span style="font-family: 宋体">是</span><span lang="EN-US">2</span><span style="font-family: 宋体">个数字的分</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160; </span></span></span><span lang="EN-US">ss</span><span style="font-family: 宋体">是</span><span lang="EN-US">2</span><span style="font-family: 宋体">个数字的秒</span><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal"></span></span></span> </li>
<li><span lang="EN-US" style="font-family: wingdings"><span><span style="font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal">&#160;</span></span></span><span lang="EN-US">Z</span><span style="font-family: 宋体">描述了时间是</span><span lang="EN-US">UTC</span><span style="font-family: 宋体">格式。</span> </li>
</ul>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2004-01-20T22:35:00Z</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">deliver-after-timestamp</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定日期和时间，在这个时间之后的内容发送到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备。这个时间前的内容不会被传送。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">以</span><span lang="EN-US">UTC</span><span style="font-family: 宋体">格式显示日期与时间</span><span lang="EN-US">.</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US">2004-01-20T21:35:00Z</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="167">
<p class="MsoNormal"><span lang="EN-US">address-value</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定将</span><span lang="EN-US">PUSH</span><span style="font-family: 宋体">内容发送到</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备的地址。</span><em><span lang="EN-US">destination</span></em><span style="font-family: 宋体">是目的</span><span lang="EN-US">internet </span><span style="font-family: 宋体">消息地址或</span><span lang="EN-US">PIN.</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="218">
<p class="MsoToc1"><span lang="EN-US">WAPPUSH=<em>destionation</em>%<em>3Aport1</em>/</span></p>
<p class="MsoNormal"><span lang="EN-US">TYPE=USER@blackberry.com</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 125.4pt; padding-top: 0cm" valign="top" width="167">
<p class="MsoToc1"><span lang="EN-US">Delivery-method</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 136.95pt; padding-top: 0cm" valign="top" width="183">
<p class="MsoNormal"><span style="font-family: 宋体">指定内容，透明级，或应用程序级的传送信任模式</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 163.75pt; padding-top: 0cm" valign="top" width="218">
<p class="MsoNormal"><span lang="EN-US">Confirmed;uncomfirmed</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体">参看</span><em><span lang="EN-US">Push Access Protocol(WAP-247-PAP-20010429-a)</span></em><span style="font-family: 宋体">文档获取更多关于使用</span><span lang="EN-US">PAP</span><span style="font-family: 宋体">编写服务器端</span><span lang="EN-US">push</span><span style="font-family: 宋体">用用程序。参看</span><span lang="EN-US">PAP 2.0 DTD</span><span style="font-family: 宋体">得到关于</span><span lang="EN-US">WAP Push DTD</span><span style="font-family: 宋体">的信息。</span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><strong><span style="font-family: 宋体">例</span><span lang="EN-US">: PAP push request<o:p></o:p></span></strong></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: multipart/related; type=&quot;application/xml&quot;; boundary=asdlfkjiurwghasf<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">X-Wap-Application-Id: /<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8211;asdlfkjiurwghasf<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: teal; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!DOCTYPE pap PUBLIC &quot;-//WAPFORUM//DTD PAP 2.0//EN&quot; &quot;http://www.wapforum.org/DTD/pap_2.0.dtd&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">push-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> push-id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">a_push_id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> ppg-notify-requested-to</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">http://foo.rim.net/ReceiveNotify</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">address</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> address-value</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">WAPPUSH=aisha.wahl%40blackberry.com%3A7874/TYPE=USER@rim.net</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;/&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">quality-of-service</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> delivery-method</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">unconfirmed</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;/&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">push-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8211;asdlfkjiurwghasf<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: text/html<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">html</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">body</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Hello, PAP world!</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">body</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">html</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8211;asdlfkjiurwghasf&#8211;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px" />
<h3><a name="_Toc125107072"><span style="color: #333399; font-family: 宋体">发送</span></a><span><span lang="EN-US" style="color: #333399">PAP push</span></span><span><span style="color: #333399; font-family: 宋体">取消请求</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">使用下面的头取消一个已经发送到</span><span lang="EN-US">MDS </span><span style="font-family: 宋体">服务的</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交。</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 107.7pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="144">
<p class="MsoNormal"><span style="font-family: 宋体">头</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 84.9pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="113">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 233.5pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="311">
<p class="MsoNormal"><span style="font-family: 宋体">实例</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: white 0% 50%; padding-bottom: 0cm; width: 107.7pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="144">
<p class="MsoNormal"><span lang="EN-US">cancel-message push-id</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: white 0% 50%; padding-bottom: 0cm; width: 84.9pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="113">
<p class="MsoNormal"><span style="font-family: 宋体">取消前面提交的</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: white 0% 50%; padding-bottom: 0cm; width: 233.5pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="311">
<p class="MsoNormal"><span lang="EN-US">&lt;cancel-message push-id=<a href="mailto:123@wapforum.org">123@wapforum.org</a>&gt;</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 107.7pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="144">
<p class="MsoNormal"><span lang="EN-US">address address-value</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 84.9pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="113">
<p class="MsoNormal"><span style="font-family: 宋体">指定</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息提交的地址。这个标记是</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">必需的。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 233.5pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="311">
<p class="MsoNormal"><span lang="EN-US">&lt;address address-value=WAPPUSH=aisha.wah1%40bl1ackbe</span></p>
<p class="MsoNormal"><span lang="EN-US">rry.com%3A7874/TYPE=UER@rim.net/&gt;</span></p>
</td>
</tr>
</tbody>
</table>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><strong><span style="font-family: 宋体">例：</span><span lang="EN-US">PAP push</span></strong><strong><span style="font-family: 宋体">取消请求</span><span lang="EN-US"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: teal; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!DOCTYPE pap PUBLIC &quot;-//WAPFORUM//DTD PAP 2.0//EN&quot;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;http://www.wapforum.org/DTD/pap_2.0.dtd&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">cancel-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> push-id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8220;a_push_id&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">address</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> address-value</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span style="font-size: 10pt; background: white 0% 50%; color: red; font-family: 宋体; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8220;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">WAPPUSH</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">aisha.wahl%40blackberry.com%3A7874</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">/TYPE=USER@rim.net</span><span style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: 宋体; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8220;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">/&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">cancel-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoToc1"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span></p>
<hr style="width: 100%; height: 2px" />
<h3><a name="_Toc125107073"><span style="color: #333399; font-family: 宋体">发送一个</span></a><span><span lang="EN-US" style="color: #333399">PAP push</span></span><span><span style="color: #333399; font-family: 宋体">查询请求</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">为了查询已经发送到</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务的</span><span lang="EN-US">push</span><span style="font-family: 宋体">提交的状态，使用下面的头：</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 140.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="187">
<p class="MsoNormal"><span lang="EN-US">XML</span><span style="font-family: 宋体">控制实体属性</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 126pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="168">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 162pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="216">
<p class="MsoNormal"><span style="font-family: 宋体">实例</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 140.4pt; padding-top: 0cm" valign="top" width="187">
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">statusquery-message push-id</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 126pt; padding-top: 0cm" valign="top" width="168">
<p class="MsoNormal"><span style="font-family: 宋体">指定</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息的哪个状态是需要的。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">返回的响应是下面消息状态之一：</span><span lang="EN-US">delivered,pending,undelivered,expired,rejected,timeout,cancelled,aborted</span><span style="font-family: 宋体">或</span><span lang="EN-US">unknown.</span><span style="font-family: 宋体">你必须在请求里包含地址属性。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 162pt; padding-top: 0cm" valign="top" width="216">
<p class="MsoNormal"><span lang="EN-US">&lt;statusquery-message push-id=<a href="mailto:123@wapforum.org">123@wapforum.org</a>&gt;</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 140.4pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="187">
<p class="MsoNormal"><span lang="EN-US">address ddress-vue</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 126pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="168">
<p class="MsoNormal"><span style="font-family: 宋体">指定一个提交的</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息地址。这个标记是必需的。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 162pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="216">
<p class="MsoNormal"><span lang="EN-US">&lt;address address-value=&#8221;WAPPUSH=aisha.wahl%40blackberry.com%3A7874/TYPE=USER@rim&gt;net&#8221;/&gt;</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal">
<hr style="width: 100%; height: 2px" />
<p>&#160;</p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: teal; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!DOCTYPE pap PUBLIC &quot;-//WAPFORUM//DTD PAP 2.0//EN&quot;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;http://www.wapforum.org/DTD/pap_2.0.dtd&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">statusquery-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> push-id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">a_push_id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">address</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> address-value</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">WAPPUSH=aisha.wahl%40blackberry.com%3A7874/TYPE=USER@rim.net</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;/&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">statusquery-message</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px" />
<h3><a name="_Toc125107074"><span style="color: #333399; font-family: 宋体">决定</span></a><span><span lang="EN-US" style="color: #333399">BlackBerry</span></span><span><span style="color: #333399; font-family: 宋体">设备是否在</span></span><span><span lang="EN-US" style="color: #333399">push</span></span><span><span style="color: #333399; font-family: 宋体">覆盖范围内</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoToc1"><span style="font-family: 宋体">为了从</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务接收某个特定</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备的网络覆盖信息，指定下面的头：</span></p>
<table class="MsoNormalTable" style="border-collapse: collapse" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 4cm; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="151">
<p class="MsoNormal"><span lang="EN-US">XML</span><span style="font-family: 宋体">控制实体属性</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 108pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="144">
<p class="MsoNormal"><span style="font-family: 宋体">描述</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #d9d9d9 0% 50%; padding-bottom: 0cm; width: 204.7pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="273">
<p class="MsoNormal"><span style="font-family: 宋体">实例</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 4cm; padding-top: 0cm" valign="top" width="151">
<p class="MsoNormal"><span lang="EN-US">x-rim-use-coverage</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 108pt; padding-top: 0cm" valign="top" width="144">
<p class="MsoNormal"><span style="font-family: 宋体">设置</span><span lang="EN-US">true</span><span style="font-family: 宋体">来接收网络覆盖信息，</span><span lang="EN-US">push</span><span style="font-family: 宋体">消息的状态是必要的。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：这个头典型用来决定网络覆盖，优先于发送一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">请求。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 204.7pt; padding-top: 0cm" valign="top" width="273">
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&lt;rim-push-use-coverage=&#8221;true&#8221;&gt;</span></p>
</td>
</tr>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 4cm; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="151">
<p class="MsoNormal"><span lang="EN-US">address address-value</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 108pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="144">
<p class="MsoNormal"><span style="font-family: 宋体">指定</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备的地址来决定网络覆盖。</span></p>
</td>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6 0% 50%; padding-bottom: 0cm; width: 204.7pt; padding-top: 0cm; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" valign="top" width="273">
<p class="MsoNormal"><span lang="EN-US">&lt;address address-value=&#8221;WAPPUSH=aisha.wahl%40blackberry.com</span></p>
<p class="MsoNormal"><span lang="EN-US">%3A7874/TYPE=USER@rim&gt;net&#8221;/&gt;</span></p>
</td>
</tr>
</tbody>
</table>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><strong><span style="font-family: 宋体">例</span><span lang="EN-US">:RIM</span></strong><strong><span style="font-family: 宋体">网络状态查询请求</span><span lang="EN-US"><o:p></o:p></span></strong></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: teal; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!DOCTYPE pap PUBLIC &quot;-//WAPFORUM//DTD PAP 2.0//EN&quot;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;http://www.wapforum.org/DTD/pap_2.0.dtd&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">rim-push-use-coverage=&quot;true&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> push-id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">a_push_id</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> \</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><strong><span style="font-family: 宋体">例</span><span lang="EN-US">:RIM</span></strong><strong><span style="font-family: 宋体">网络状态查询响应</span></strong></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">Content-Type: application/xml<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: teal; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!DOCTYPE pap PUBLIC &quot;-//WAPFORUM//DTD PAP 2.0//EN&quot;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: navy; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;http://www.wapforum.org/DTD/pap_2.0.dtd&quot;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">x-rim-device-state=&quot;true&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;!&#8211;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: gray; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> a response of true means the device is in network coverage </span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&#8211;&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><span>&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">address</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: red; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"> address-value</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">=&quot;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">WAPPUSH=aisha.wahl%40blackberry.com%3A7874/TYPE=USER@rim.net </span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&quot;/&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">rim-push-use-coverage</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: black; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&lt;/</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: maroon; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">pap</span><span lang="EN-US" style="font-size: 10pt; background: white 0% 50%; color: blue; font-family: &#39;courier new&#39;; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">&gt;</span>    </p>
<hr style="width: 100%; height: 2px" />
<p>&#160;</p>
<h2><a name="_Toc125107075"><span style="color: #333399; font-family: 黑体">编写一个客户端</span><span lang="EN-US" style="color: #333399">push</span></a><span><span style="color: #333399; font-family: 黑体">应用程序</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<h3><a name="_Toc125107076"><span style="color: #333399; font-family: 宋体">创建一个监听线程</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">在独立线程上发送和接收数据，这样你不会在主事件线程上阻塞。</span></p>
<h3><a name="_Toc125107077"><span style="color: #333399; font-family: 宋体">打开一个输入连接</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">Connector.open(String),</span><span style="font-family: 宋体">并让</span><span lang="EN-US">http://</span><span style="font-family: 宋体">作为协议，选择大端口号。将返回的对象转化为一个</span><span lang="EN-US">StreamConnectionNotifier</span><span style="font-family: 宋体">。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span><span style="font-family: 宋体">打开连接一次，并保持其连接状态为打开。仅当</span><span lang="EN-US">IOException</span><span style="font-family: 宋体">发生时，重新打开连接。每次</span><span lang="EN-US">push</span><span style="font-family: 宋体">的数据接收到时，不要关闭和重新打开连接，因为在前一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">后，如果再调用</span><span lang="EN-US">Connector.open()</span><span style="font-family: 宋体">之前数据就到达了，</span><span lang="EN-US">push</span><span style="font-family: 宋体">的数据会丢失。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为避免和其他程序冲突，选择一个大的端口号，端口号必须是</span><span lang="EN-US">1</span><span style="font-family: 宋体">到</span><span lang="EN-US">65535</span><span style="font-family: 宋体">。端口</span><span lang="EN-US">7874</span><span style="font-family: 宋体">为</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">浏览器保留。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">StreamConnectionNotifier _notify = </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>(StreamConnectionNotifier)Connector.open(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;http://:6234&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// open a server-side socket connection</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">StreamConnection stream = _notify.acceptAndOpen();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// open an input stream for the connection</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">InputStream input = stream.openInputStream();</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107078"><span style="color: #333399; font-family: 宋体">关闭流连接通知</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoToc1"><span style="font-family: 宋体">调用流连接通知上的</span><span lang="EN-US">close()</span><span style="font-family: 宋体">方法</span><span lang="EN-US">.</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">_notify.close();<span>&#160;&#160;&#160;&#160; </span></span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107079"><span style="color: #333399; font-family: 宋体">代码实例</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">HTTPPushDemo.java</span><span style="font-family: 宋体">实例描述了如何编写一个应用程序监听来自服务器的进入数据。创建一个监听线程监听指定端口的图像数据，当数据到达时，然后显示它。</span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><span style="font-family: 宋体">例</span><span lang="EN-US">: HTTPPushDemo.java</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">HTTPPushDemo.java</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Copyright</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">(C)</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2001</span><span lang="EN-US" style="font-size: 10pt; color: #7f7f9f; font-family: &#39;courier new&#39;">-</span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">2005</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Research</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">In</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Motion</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Limited.</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">All</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">rights</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">reserved.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.samples.docs.httppush;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> javax.microedition.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.component.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.ui.container.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.i18n.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.system.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> net.rim.device.api.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.samples.docs.baseapp.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> HTTPPushDemo </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> BaseApp {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Constants.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">URL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;http://:6234&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">CHUNK_SIZE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = 256;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Fields.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listeningThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MainScreen _mainScreen;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RichTextField _infoField;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> BitmapField _imageField;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> main(String[] args) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>HTTPPushDemo theApp = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> HTTPPushDemo();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>theApp.enterEventDispatcher();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">/**</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">Create</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">a</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">separate</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">listening</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">thread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">so</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">that</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">you</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">do</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">not</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">block</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">the</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">application&#8217;s</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">main</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">event</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">thread.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;</span></span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #3f5fbf; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">extends</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Thread {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">boolean</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">false</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> StreamConnectionNotifier _notify;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> stop() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_notify.close(); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Close the connection so thread returns.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (NullPointerException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// The notify object likely failed to open, due to an IOException.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>StreamConnection stream = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>InputStream input = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">synchronized</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Open the connection once or re-open after an IOException.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_notify = (StreamConnectionNotifier)Connector.open(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">URL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">while</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (!</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_stop</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// NOTE: This method blocks until data is received.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>stream = _notify.acceptAndOpen();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>input = stream.openInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Extract the data from the input stream.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DataBuffer db = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DataBuffer();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] data = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">CHUNK_SIZE</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> chunk = 0;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">while</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( -1 != (chunk = input.read(data)) ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>db.write(data, 0, chunk);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>input.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>data = db.getArray();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>updateBitmap(data);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString()); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// It is likely the stream was closed.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Constructor.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> HTTPPushDemo() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> MainScreen();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.setTitle(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> LabelField(&#8220;Latest Logos&#8221;, LabelField.USE_ALL_WIDTH));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_infoField = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RichTextField();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(_infoField);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> SeparatorField());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_imageField = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> BitmapField(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, BitmapField.HCENTER|BitmapField.TOP);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.add(_imageField);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.addKeyListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_mainScreen.addTrackwheelListener(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">this</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_listeningThread = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ListeningThread();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_listeningThread.start();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>_infoField.setText(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Application is listening&#8230;&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>pushScreen(_mainScreen);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> updateBitmap(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] data) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>Application.getApplication().invokeLater(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> Runnable() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> run() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Query the user to load the received image.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>String[] choices = {</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;OK&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;CANCEL&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">};</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( 0 != Dialog.ask(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Do you want to display latest logo?&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">,choices, 0) ) </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>{</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_infoField.setText(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Image received. Size:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">+ data.</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">length</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_imageField.setBitmap(Bitmap.createBitmapFromPNG(data, 0,data.</span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">length</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>});</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">protected</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> onExit() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Stop the listening thread.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listeningThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.stop();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">_listeningThread</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.join();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (InterruptedException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px" />
<h2><a name="_Toc125107080"><span style="color: #333399; font-family: 黑体">编写一个服务器端</span><span lang="EN-US" style="color: #333399">push</span></a><span><span style="color: #333399; font-family: 黑体">应用程序</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span style="font-family: 宋体">任何能够建立</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">连接的编程语言都可以用来创建一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序。下面章节使用标准</span><span lang="EN-US">Java</span><span style="font-family: 宋体">来描述一个服务器端的</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序。</span></p>
<h3><a name="_Toc125107081"><span style="color: #333399; font-family: 宋体">构造</span></a><span><span lang="EN-US" style="color: #333399">push URL</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">像下面格式化</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">请求</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><strong><em><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;">/push?DESTINATION=&lt;destination&gt;&amp;PORT=&lt;port&gt;&amp;REQUESTURI=&lt;uri&gt;&lt;headers&gt;&lt;content&gt;<o:p></o:p></span></em></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">参看</span><span lang="EN-US">139</span><span style="font-family: 宋体">页的&#8220;发送一个</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">请求</span><span lang="EN-US">&#8221;</span><span style="font-family: 宋体">获得更多关于构造</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">请求的</span><span lang="EN-US">URL.</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">如下构造</span><span lang="EN-US">PAP push</span><span style="font-family: 宋体">请求</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><strong><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;">/pap<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体">参看</span><span lang="EN-US">139</span><span style="font-family: 宋体">页的&#8220;发送一个</span><span lang="EN-US">RIM push</span><span style="font-family: 宋体">请求</span><span lang="EN-US">&#8221;</span><span style="font-family: 宋体">获得更多关于构造</span><span lang="EN-US">PAP push</span><span style="font-family: 宋体">请求的</span><span lang="EN-US">URL.</span></p>
<h3><a name="_Toc125107082"><span style="color: #333399; font-family: 宋体">连接</span></a><span><span lang="EN-US" style="color: #333399">BES</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">在</span><span lang="EN-US">push URL</span><span style="font-family: 宋体">上调用</span><span lang="EN-US">openConnection()</span><span style="font-family: 宋体">，然后将返回的对象转化为一个</span><span lang="EN-US">HttpURLConnection.</span><span style="font-family: 宋体">一个</span><span lang="EN-US">HttpURLConnection</span><span style="font-family: 宋体">代表了一个远程对象的连接。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">HttpURLConnection conn =(HttpURLConnection)url.openConnection();</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107083"><span style="color: #333399; font-family: 宋体">为</span></a><span><span lang="EN-US" style="color: #333399">HTTP POST</span></span><span><span style="color: #333399; font-family: 宋体">请求设置属性</span></span><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">服务器端</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序使用一个</span><span lang="EN-US">POST</span><span style="font-family: 宋体">请求方法。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">conn.setRequestMethod(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;POST&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">// Post to the BlackBerry Enterprise Server.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-family: 宋体">为了接收确认，设置</span><span lang="EN-US">doInput(Boolean)</span><span style="font-family: 宋体">为</span><span lang="EN-US">true</span><span style="font-family: 宋体">，这描述了应用程序打算从</span><span lang="EN-US">URL</span><span style="font-family: 宋体">连接读取数据。</span></p>
<p class="MsoNormal"><span lang="EN-US">conn.setDoInput(true).</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">为了发送数据，设置</span><span lang="EN-US">doOutput(Boolean)</span><span style="font-family: 宋体">为</span><span lang="EN-US">true</span><span style="font-family: 宋体">，这描述了应用程序打算发送数据到</span><span lang="EN-US">URL</span><span style="font-family: 宋体">连接。</span></p>
<p class="MsoNormal"><span lang="EN-US">conn.setDoOutput(true).</span></p>
<h3><a name="_Toc125107084"><span style="color: #333399; font-family: 宋体">写数据到服务器连接</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">getOutputStream()</span><span style="font-family: 宋体">来访问一个输出流。写数据到输出流上，然后关闭它。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">OutputStream out = conn.getOutputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">out.write(data);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">out.close();</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span lang="EN-US"><o:p>&#160;</o:p></span></p>
<h3><a name="_Toc125107085"><span style="color: #333399; font-family: 宋体">读取服务器响应</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">getInputStream()</span><span style="font-family: 宋体">来访问一个输入流。决定内容的大小，如果它是非零，打开一个数据输入流，然后读取内容。</span></p>
<table class="MsoTableGrid" style="background: #e6e6e6 0% 50%; border-collapse: collapse; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0cm; width: 426.1pt; padding-top: 0cm" valign="top" width="568">
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">InputStream ins = conn.getInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> contentLength = conn.getContentLength();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (contentLength &gt; 0) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] someArray = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> [contentLength];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>DataInputStream dins = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DataInputStream(ins);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>dins.readFully(someArray);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>System.out.println(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(someArray));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">ins.close();</span></p>
</td>
</tr>
</tbody>
</table>
<h3><a name="_Toc125107086"><span style="color: #333399; font-family: 宋体">断开连接</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span style="font-family: 宋体">调用</span><span lang="EN-US">disconnect()</span><span style="font-family: 宋体">，它描述了应用程序对服务器不会再有请求。</span></p>
<p class="MsoNormal"><span lang="EN-US">conn.disconnect().</span></p>
<h3><a name="_Toc125107087"><span style="color: #333399; font-family: 宋体">代码实例</span></a><span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h3>
<p class="MsoNormal"><span lang="EN-US">HTTPPush.java</span><span style="font-family: 宋体">实例，它由标准</span><span lang="EN-US">Java</span><span style="font-family: 宋体">编写，发送单个</span><span lang="EN-US">.png</span><span style="font-family: 宋体">图像到一个</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备上的监听客户端程序。应用程序</span><span lang="EN-US">push</span><span style="font-family: 宋体">基于一个</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址的数据。为了用模拟器测试</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序，定义一个</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址和模拟器</span><span lang="EN-US">PIN</span><span style="font-family: 宋体">（</span><span lang="EN-US">2100000A</span><span style="font-family: 宋体">）之间的映射。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">下面的代码使用</span><span lang="EN-US">J2SE 1..4.2</span><span style="font-family: 宋体">编译</span><span lang="EN-US">:</span></p>
<hr style="width: 100%; height: 2px" />
<p class="MsoNormal"><span style="font-family: 宋体">例</span><span lang="EN-US">: HTTPPush.java</span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">/*</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">* HttpPushServer.java</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">* Copyright (C) 2001-2004 Research In Motion Limited. All rights reserved.</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">*/</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">package</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> com.rim.docs.samples.httppush;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.io.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.net.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">import</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> java.util.*;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p>&#160;</o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">class</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> HTTPPushServer {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//constants</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">HANDHELD_EMAIL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;scott.tooke@rim.com&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">HANDHELD_PORT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;6234&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">BES_HOST</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;localhost&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">BES_PORT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = 8080;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">final</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">CONTENT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> = </span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;com/rim/docs/samples/httppush/logo.png&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//constructor</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> HTTPPushServer() {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">private</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> URL getPushURL(String HandheldEmail) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>URL _pushURL = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ((HandheldEmail == </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">) || (HandheldEmail.length() == 0)) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>HandheldEmail = </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">HANDHELD_EMAIL</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>_pushURL = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> URL(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;http&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">BES_HOST</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">, </span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">BES_PORT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">,</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;/push?DESTINATION=&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">+ HandheldEmail+</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;&amp;PORT=&quot;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>+</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">HANDHELD_PORT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">+</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;&amp;REQUESTURI=/&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (MalformedURLException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">return</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> _pushURL;</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> postData(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] data) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>URL url = getPushURL(HANDHELD_EMAIL);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.out.println(&#8220;Sending to&#8221; + url.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>HttpURLConnection conn = (HttpURLConnection)url.openConnection();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>conn.setDoInput(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//for receiving the confirmation</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>conn.setDoOutput(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">true</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//for sending the data</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>conn.setRequestMethod(&#8220;POST&#8221;); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//post the data to the BES</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>OutputStream out = conn.getOutputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>out.write(data); </span><span lang="EN-US" style="font-size: 10pt; color: #3f7f5f; font-family: &#39;courier new&#39;">//write the data</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>out.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>InputStream ins = conn.getInputStream();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> contentLength = conn.getContentLength();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.out.println(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Content length:&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">+ contentLength);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (contentLength &gt; 0) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] someArray = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> [contentLength];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>DataInputStream dins = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> DataInputStream(ins);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>dins.readFully(someArray);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.out.println(</span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> String(someArray));</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>ins.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>conn.disconnect();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>} </span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.err.println(e);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}<span>&#160;&#160; </span></span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">public</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">static</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">void</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> main (String args[]) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">try</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>File f = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> File(</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">CONTENT</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( f == </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">throw</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RuntimeException(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Unable to Open File&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>FileInputStream fi = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> FileInputStream(f);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">if</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> ( </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">null</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> == fi ) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">throw</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> RuntimeException(</span><span lang="EN-US" style="font-size: 10pt; color: #2a00ff; font-family: &#39;courier new&#39;">&quot;Unable to open file&quot;</span><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> size = fi.available();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[] imageData = </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">new</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> </span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">byte</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">[size];</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">int</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> bytesRead = fi.read(imageData);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>fi.close();</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><em>postData</em>(imageData);</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span></span><strong><span lang="EN-US" style="font-size: 10pt; color: #7f0055; font-family: &#39;courier new&#39;">catch</span></strong><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"> (IOException e) {</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>System.</span><em><span lang="EN-US" style="font-size: 10pt; color: #0000c0; font-family: &#39;courier new&#39;">err</span></em><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;">.println(e.toString());</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160;&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; font-family: &#39;courier new&#39;"><span>&#160;&#160;&#160; </span>}</span><span lang="EN-US" style="font-size: 10pt; font-family: &#39;courier new&#39;"><o:p></o:p></span></p>
<hr style="width: 100%; height: 2px" />
<h2><a name="_Toc125107088"><span lang="EN-US" style="color: #333399">Push</span></a><span><span style="color: #333399; font-family: 黑体">应用程序疑难解答</span></span><span lang="EN-US" style="color: #333399"><o:p></o:p></span></h2>
<p class="MsoNormal"><span lang="EN-US" style="font-family: 宋体"><img alt="" hspace="hspace" src="http://www.cnblogs.com/images/cnblogs_com/confach/bb_doc_info.GIF" v:shapes="_x0000_i1025" /></span><strong><span style="font-family: 宋体">注</span></strong><span style="font-family: 宋体">：下面的情况适用于<span lang="EN-US">Microsoft Exchange BES.</span></span></p>
<p class="MsoNormal"><span lang="EN-US">Push</span><span style="font-family: 宋体">应用程序对基于</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址的</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备进行标识，当用户换到另外一台不同的</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备时，如果用户停止接收一个</span><span lang="EN-US">push</span><span style="font-family: 宋体">应用程序的数据，</span></p>
<p class="MsoNormal"><span style="font-family: 宋体">可能意味着用户</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址和</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备</span><span lang="EN-US">PIN</span><span style="font-family: 宋体">之间的映射已经过期了。验证</span><span lang="EN-US">BES</span><span style="font-family: 宋体">是否正确运行。</span></p>
<p class="MsoNormal"><span lang="EN-US">Microsoft Exchange BES</span><span style="font-family: 宋体">的</span><span lang="EN-US">MDS</span><span style="font-family: 宋体">服务特征使用了一个数据库一致工具（</span><span lang="EN-US">Database Consistency tool</span><span style="font-family: 宋体">）</span><span lang="EN-US">,dbconsistency.exe</span><span style="font-family: 宋体">，进行维护</span><span lang="EN-US">internet</span><span style="font-family: 宋体">消息地址和</span><span lang="EN-US">BlackBerry</span><span style="font-family: 宋体">设备</span><span lang="EN-US">PIN</span><span style="font-family: 宋体">之间的映射。管理员可以配置这个工具运行的频率，并且也可以手动运行它。为获得更多信息，参看</span><em><span lang="EN-US">Microsoft Exchange BES</span></em><em><span style="font-family: 宋体">维护指南</span></em><span style="font-family: 宋体">。</span></p>
<p> <span lang="EN-US" style="font-size: 10.5pt; font-family: &#39;times new roman&#39;">   <br /></span>
<ul style="color: red; font-style: italic">
<li><span lang="EN-US" style="font-size: 10.5pt; font-family: &#39;times new roman&#39;">Last Updated:2007年1月12日</span> </li>
<li><span lang="EN-US" style="font-size: 10.5pt; font-family: &#39;times new roman&#39;">Last Updated:</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &#39;times new roman&#39;">2006年4月28日 created</span> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.inblackberry.com/web/development/docs/developer-guide-vol-1-charpter-10-push.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.746 seconds -->
