论坛首页 移动开发技术论坛

mobile push ?

浏览 9873 次
锁定老帖子 主题:mobile push ?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-13  
gsm的短信协议中规定有一种带port的短信,类似于socket的port,可以给应用提供一种经过短信传输的通道。
比如一种叫wap push, 实际就是一种port的短信,port号是协议规定好的,短信内容也有标准的格式,一般包含一个URL, 当手机收到这个wap push,就会弹出一个对话框,提示用户是否打开,这种通常是运营商push到手机用户的。
push email的实现方法也类似,运营商push一条port短信到用户手机,通知用户有新邮件,然后应用可以去邮件服务器下载。
还有qq上有新消息也可以发一个port短信过来通知。

但是对于port短信的处理,一般都是手机自带的应用来做,不是所有的手机平台都能开放这种短信给第三方软件处理,之前moto曾经在手机平台上加入这种port短信的开放,第三方应用可以提供一个plugin来注册一个port号,然后可以拿到所有这种port短信,但是后来只是开放给内置的应用,第三方无法使用。

现在android平台也许也开发了port的短信,但是没有仔细研究过
0 请登录后投票
   发表时间:2010-03-13   最后修改:2010-03-13
觉得push服务可以应用在一些移动ERP的应用上面,嘿嘿
另外,wap push好像被国家禁止了吧,好容易被人利用来投放无良广告啊
0 请登录后投票
   发表时间:2010-03-14  
https://labs.ericsson.com/
0 请登录后投票
   发表时间:2010-03-14  
houjie12124 写道
手机不是电脑!要是所有的程序都能push,用户还活不活!用户需要,那才需要!


所以我觉得最好开发一个通用的接口。 不同应用都可以调用该接口。 而手机端只要开一个监听。 该监听可以从得到的信息中得知当前消息是来自哪个应用。 外行随便说说,轻拍。
0 请登录后投票
   发表时间:2010-03-14  
用传统类似基于浏览器的push方式不行么?
0 请登录后投票
   发表时间:2010-03-15  
smalllixin 写道
用传统类似基于浏览器的push方式不行么?

你是说pushlet这种吗?经实验不可以,android的浏览器支持AJAX,但是不支持在readyState是3的状态下读取数据并处理,只能在readyState是4的状态下才能读取数据处理
0 请登录后投票
   发表时间:2010-03-15   最后修改:2010-03-15
zhoulei984623 写道
houjie12124 写道
手机不是电脑!要是所有的程序都能push,用户还活不活!用户需要,那才需要!


所以我觉得最好开发一个通用的接口。 不同应用都可以调用该接口。 而手机端只要开一个监听。 该监听可以从得到的信息中得知当前消息是来自哪个应用。 外行随便说说,轻拍。

苹果的iPhone push和你所说的是一个概念 前面回帖有传送门了 点去看看
0 请登录后投票
   发表时间:2010-03-16  
如果只兼容CMNET, 那么在没有底层系统支持的情况下。可以选择是用UDP。客户端定时发心跳给Server, 保证网关上UDP那个端口不被回收即可了。

还有一种方案就是用类似于Comet的技术了。客户端使用HTTP协议与Server通讯(例如Jetty 7就支持commet)。这样使用HTTP就可以穿过cmwap的代理了。当然, 移动网络的情况与桌面系统中差别是非常大的。如果要做到耗电量、流量的最优。一般需要自己实现一个类似于HTTP协议。
0 请登录后投票
   发表时间:2010-03-22  
我的回帖被删了?搞笑啊
0 请登录后投票
   发表时间:2011-01-14  
MicahChen 写道
以前曾经做个一个mobile push很类似的功能。手机接入网络,以移动网络来说,一般有CMWAP和CMNET两种方式,CMWAP上面只允许传输HTTP和WAP协议,这种情况做push比较有难度。CMNET可以做任何的Internet路由,和普通的电脑接入方式是一致的。这为push的实现提供了可行性。
当手机接入CMNET之后,会随意分配一个ip地址,这个地址可能是一个私有网络的地址,也有可能是VPN的地址,如果这个时候需要服务器和手机通信的话,就是相当于在手机与服务器之间实现一次NAT穿越的过程。
但NAT穿越成功后,服务器和手机之间就会保持一条短暂的可逆通信渠道,服务器可以通过udp或者tcp的方式连接手机来通信。不过这样做的缺点是手机需要经常侦听某个端口,并且NAT穿越的洞,需要经常的通信来维持,否则NAT的洞会很快失效。

老贴再翻出来,我用手机通过CMNET访问服务器,TCP长连接,发现心跳包如果大于20多秒后,服务器收到的下一条心跳包的TCP原端口号就发生了变化,同时Sequence Num也复位了,导致服务器想手机客户端回复TCP RST。难道CMNET的NAT有限制?另外我试验了同样的应用,连接到Gtalk,就没有问题,是不是服务器要做些处理啊。我的服务器只是最基本的TCP Socket Server.
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics