有没有办法在没有SMS的情况下在Java ME ie中实现推送技术?
我知道基于流/基于网络的通知是解决方案,但是如何配置向客户端发送通知的服务器?如何获取要发送通知的收件人(客户端)地址?
有一个与短信https://www.ibm.com/developerworks/java/tutorials/wi-midpreg/的教程,但我需要在http上实现它。
发布于 2012-09-05 19:58:28
如何获取要发送通知的收件人(客户端)地址?
这就是通常的工作方式。当电话不使用数据服务时,它没有IP地址。当电话请求数据时,它将接收动态IP地址,并在数据通道处于活动状态时保留该地址。此地址在电信网络中是唯一的,代理将使其与互联网的其余部分一起工作。
您可以使用的一种方法是在应用程序和服务器之间建立永久套接字连接,但这不能很好地扩展。
我的观点?如果你让它与短信一起工作,用它来唤醒你的应用程序,然后让你的应用程序打开与服务器的连接,并下载它需要的数据。一些手机甚至允许应用程序在没有UI的情况下运行。
发布于 2012-09-05 13:44:18
不幸的是,没有标准的方法来推送所有的j2me。
这也将很难实现自己,因为没有办法拥有所有j2me的后台应用程序/进程。
他们现在正在推动诺基亚"NNA“的解决方案。但这只适用于一些最新的操作系统版本。
发布于 2012-09-05 13:51:39
PushRegistry应用编程接口文档(available online)并不局限于短信。
特别地,数据报和套接字被明确地列为示例:
示例描述符文件声明性表示法
下面是一个示例描述符文件条目,它将保留端口79处的流套接字和端口50000处的数据报连接。(端口号由IANA维护,包括众所周知的、用户注册的和动态的端口号)[参见IANA Port Number Registry] MIDlet-Push-1: socket://:79,com.sun.example.SampleChat,* MIDlet-Push-2: datagram://:50000,com.sun.example.SampleChat,*
请注意,MIDP2规范规定特定的协议支持是可选的,是否为MIDlets启用它取决于实现:
连接与推送注册支持
并非所有的通用连接都适合用作推送应用程序传输。即使设备支持协议作为入站连接类型,也不需要将其启用为有效的推送机制。例如,平台可能支持MIDlet中的服务器套接字连接,但可能不支持用于推送启动功能的入站套接字连接。当平台不支持该可选功能时,将从registerConnection和registerAlarm方法抛出ConnectionNotFoundException。
https://stackoverflow.com/questions/12272791
复制相似问题