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上推送出來的消息。