J2ME PUSH技术

一直以来都在JavaEye上看别人的文章,在开发中当遇到技术问题首先想到的是到JavaEye上寻找答案。很多时候都是满意而归。在此感谢不管是GG JJ DD MM 分享的技术资料,真的谢谢你们。今天我也分享一下我在开发J2ME Push 技术时的一些心得吧。由于本人水平有限,在下面的论述中难免有不足处,望各位轻拍。

 

 

Push 技术是一种通过异步方式将信息传送给设备并自动启动 MIDlet 程序的机制。 通常我们进行网络连接的时候,是

客户端主动去连接服务器,服务器处理请求并返回给客户端响应,这是同步处理机制。而 Push 技术不同,它不需要应用程序

通过“拉”的方式通过网络取得数据,应用程序需要的数据会被主动“推”向设备。当设备接收到信息的时候,相关的MIDlet 会

被激活并开始运行,处理发送过来的数据。一般来说用户是不需要参与这个过程的。Push 技术使得MIDlet 同设备更加紧密

地集成了起来,使得 MIDlet 程序在设备上的启动更加的平滑自然。

值得注意的是,Push 是MIDP2.0 的一个可选项。换句话说设备可以支持、不支持、或者部分的支持 Push 技术。

 

要实现Push技术需要通过在 MIDlet 套件的 jad 文件中指定 MIDlet-push 字段的信息注册。

 

在 Push 注册中有两种方式:静态注册和动态注册,静态注册是在 MIDlet 套件安装的时候成的。你需要通过在 MIDlet 套件的 jad 文件中指定 MIDlet-push 字段的信息。 

 

静态注册需要我们在 jad文件或者 manifest 文件中提供 MIDlet-push 字段的内容, 每个 push

册实体需要提供如下的内容: 

MIDlet-Push-<n>: <ConnectionURL>, <MIDletClassName>, <AllowedSender> 

 

 MIDlet-Push-<n>是push注册的属性名称, 一个MIDlet套件可以有多个Push注册属性。  

 ConnectionURL 是在 Connector.open()中使用的连接字符串 

 MIDletClassName 是在 Push Registry中进行注册的 MIDlet 名称,一定要包括包名,例如  cn.aircom.push.PushMIDlet。MIDletClassName一定要是在 jad 文件中记录的。 

 AllowedSender 是用来说明过滤器的,可以对激活 MIDlet 的来源进行限制。我们可以直接指定 ip地址,192.16.8.0.12。也可以使用通配符“*”和“?” ,其中“*”表示任意地址都可以访问,而“?”代表一个单独的字符串。如 192.168.0.? 

 

下面是注册好以后jad的信息

 

MIDlet-1: SMSSend,,example.sms.SMSSend

MIDlet-2: SMSReceive,,example.sms.SMSReceive

MIDlet-Jar-Size: 9201

MIDlet-Jar-URL: SMS.jar

MIDlet-Name: SMSPush

MIDlet-Permissions: javax.microedition.io.PushRegistry, javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.receive,javax.wireless.messaging.sms.send

MIDlet-Push-1: sms://:50000, example.sms.SMSReceive, *

MIDlet-Vendor: aircom

MIDlet-Version: 1.0.0

MicroEdition-Configuration: CLDC-1.0

MicroEdition-Profile: MIDP-1.0

SMS-Port: 50000

 

syncrypto可以用来将一个文件夹里面所有文件同步到另外一个加密的文件夹中, 一般来说,可以这样使用: syncrypto                         syncrypto 文件夹A  <---------------------> 加密文件夹B <-------------------> 文件夹C  机器X              (可以放在不安全的地方,例如云存储                机器Y 加密文件夹B中的文件都是加密过的,所以可以把它放在不怎么安全的地方(例如云盘,公共硬盘等) 明文文件和加密文件是一一对应的关系,所以每次同步只会添加(删除/修改)那些需要的文件,这样 很适合那些基于文件系统的同步工具,例如云盘、rsync等。 同步过程是双向的,所以,文件不仅仅是从明文文件夹同步到加密文件夹,同样也会从加密文件夹同步到 明文文件夹,syncrypto会根据算法选择最新的。 如果有冲突的话,syncrypto会将明文文件重命名(加上单词conflict),然后将密文文件同步过来 syncrypto是不会删除文件的,如果同步过程中需要删除或者覆盖文件,syncrypto会将文件移动 到废纸篓里面。密文文件夹的废纸篓在_syncrypto/trash下,明文文件夹的废纸篓在 .syncrypto/trash下。密文文件夹废纸篓里面的文件一样是加密过的。 主要 Feature : 双向加密同步 加密文件与明文文件是一一对应的关系 灵活的同步规则配置(方便将某些不必要同步的文件排除) 同时支持 Python2,Python3, Windows, Linux, OS X 比较全面的测试用例覆盖 标签:syncrypto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值