1、java以及相关技术如何实现app的消息推送?需要那些技术?
主要是网络编程的
各种协议
心跳链接
长连接
自动重连
进程保活
还要服务器配合
2、Java Web 服务器的消息推送 几种方案
1、轮询
前端使用ajax不停的发起请求获取想要的数据(最简单也是最容易耗尽服务器资源)
2、长连接
Websocket
使用Websocket进行消息推送
3、DWR
3、如何用java相关的技术实现一个服务器到手机客户端的一个消息推送?
推送当然需要用户安装客户端!需要配合客户端才可以用的。而且推送有第三方的公司专门搞这个,不过自己也可以写!不是你想的那么简单的。一个按钮还要到指定的用户,楼主有点异想天开了。
4、你好,服务端怎样给客户端发送消息,用Java实现,消息推送(push)技术方案的,没有弄过,不知道从那下手。
1.ajax长连接推技术(js)
2.socket套字节发送(java)这个比较实际
5、目前java+jsp模式,什么消息推送技术最流行?
可以的 XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有版超强的权可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
6、java服务器推送消息给android
几种常见的解决方案实现原理
1)轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。
2)SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。
3)持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
3、消息推送解决方案概述
A、C2DM云端推送方案
在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务。Android
Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。
该方案存在的主要问题是C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用。
B、MQTT协议实现Android推送
采用MQTT协议实现Android推送功能也是一种解决方案。MQTT是一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推送服务器的理想解决方案。
wmqtt.jar
是IBM提供的MQTT协议的实现。我们可以从这里(https://github.com/toku/AndroidPushNotificationsDemo)下载该项目的实例代码,并且可以找到一个采用PHP书写的服务器端实现(https://github.com/toku/PhpMQTTClient)。
C、RSMB实现推送功能
Really Small Message Broker (RSMB)
,是一个简单的MQTT代理,同样由IBM提供,其查看地址是:http://www.alphaworks.ibm.com/tech/rsmb。缺省打开1883端口,应用程序当中,它负责接收来自服务器的消息并将其转发给指定的移动设备。SAM是一个针对MQTT写的PHP库。我们可以从这个http://pecl.php.net/package/sam/download/0.2.0地址下载它.
D、XMPP协议实现Android推送
Google官方的C2DM服务器底层也是采用XMPP协议进行的封装。XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。
androidpn是一个基于XMPP协议的java开源Android push notification实现。它包含了完整的客户端和服务器端。但也存在一些不足之处:
1)
比如时间过长时,就再也收不到推送的信息了。
2)性能上也不够稳定。
3)如果将消息从服务器上推送出去,就不再管理了,不管消息是否成功到达客户端手机上。
如果我们要使用androidpn,则还需要做大量的工作,需要理解XMPP协议、理解Androidpn的实现机制,需要调试内部存在的BUG。
7、目前java+jsp模式,什么消息推送技术最流行?
我做过android上的消息推送,用的是androidpn,是基于xmpp的,xmpp只是个协议,在哪都可以用的,你最好还是找个开源的项目,然后把应用到你的项目中去,从头开始写,难度较大
8、JAVA 服务器推送数据怎么做?
struts2中有这个机制,还有我一般都用jquery当load页面或者js事件完成后,做相应的处理,比如:ajax无刷新回调、dwr等。
9、java服务器推送消息到手机客户端问题
大方向有两种,一种,自己搭推送服务器,一般主流使用XMPP协议,也有相对成熟的框架和开源项目给你使用。。优点是可以自由控制因为代码都是自己写的,缺点是搭建难度大,要吃透很花时间,而且心跳包的控制和终端的电量消耗都需要一定的水平
另外一种是用第三方推送,比如百度云推送,优点是简单易用,不用考虑服务端的实现,将推送任务全部交给百度,然后有相对完整的文档(写几段java代码就好,然后百度也有示例代码给你用,很方便)。缺点是有一定的限制,比如说发送的信息的长度,或者是一天中发送的数量(一般个人用户很难达到数量上限)
我这的上一个项目使用的是百度云推送,用户数量和并发数量现在都不多,基本上能满足需求
10、java消息推送,一个实时数据的web显示该怎么做
javaweb消息实时推送可以使用GoEasy平台。
操作如下:
到goeasy官网上注册一个账号,并创建一个应用,应用创建好后系统会默认为它生成两个key: publish key和subscribe key。
前台实时订阅及接收:需要引入goeasy.js,然后调用goeasy的subscribe方法订阅一个channel即可,订阅时无论是用publish key还是subscribe key都可以。通过subscribe的参数 onMessage的回调函数可以实时接收到消息。
前台实时推送:需要引入goeasy.js(如果该页面已经引入了可不在引入),然后调用goeasy的publish方法向已订阅的channel上推送消息即可,推送时只能用publish key。
后台实时推送:调用GoEasy Restful API, 用post方式访问http://goeasy.io/goeasy/publish, 同时还需要带上三个必要参数:
appkey: publish key
channel: 你订阅了的channel
content: 推送内容
GoEasy的实现原理很简单,就是推送消息的一端只负责推送,而需要接收的页面需要预先订阅。订阅什么呢?订阅channel。往 某个channel上推送消息,客户端就订阅相同的channel,这样就可以确保准确接收。通过channel我们可以自己指定哪些页面或哪些用户可以 接收到从这个channel上推送出来的消息。