android實現推送方式解決方案,Android實現推送方式解決方案系列教程

Android實現推送方式解決方案系列教程 1-5

Android實現推送方式解決方案系列教程

總結者:難民 交流Q群: 137824028

Android實現推送方式解決方案系列之一--XMPP協議

出自:http://doc.docsou.com/thread-1004-1-1.html

XMPP協議簡介

XMPP(Extensible Messageing and Presence Protocol:可擴展消息與存在協議)是目前主流的四種IM(IM:instant messaging,即時消息)協議之一,其他三種分別為:即時信息和空間協議(IMPP)、空間和即時信息協議(PRIM)、針對即時通訊和空間平衡擴充的進程開始協議SIP(SIMPLE)。

在這四種協議中,XMPP是最靈活的。XMPP是一種基于XML的協議,它繼承了在XML環境中靈活的發展性。因此,基于XMPP的應用具有超強的可擴展性。經過擴展以后的XMPP可以通過發送擴展的信息來處理用戶的需求,以及在XMPP的頂端建立如內容發布系統和基于地址的服務等應用程 序。而且,XMPP包含了針對服務器端的軟件協議,使之能與另一個進行通話,這使得開發者更容易建立客戶應用程序或給一個配好系統添加功能。

1. 什么是XMPP ?

XMPP的前身是Jabber,一個開源形式組織產生的網絡即時通信協議。XMPP目前被IETF國際標準組織完成了標準化工作。標準化的核心結果分為兩部分; 核心的XML流傳輸協議 基于XML流傳輸的即時通訊擴展應用 XMPP的核心XML流傳輸協議的定義使得XMPP能夠在一個比以往網絡通信協議更規范的平臺上。借助于XML易于解析和閱讀的特性,使得XMPP的協議能夠非常漂亮。 XMPP的即時通訊擴展應用部分是根據IETF在這之前對即時通訊的一個抽象定義的,與其他業已得到廣泛使用的即時通訊協議,諸如AIM,QQ等有功能完整,完善等先進性。

2. XMPP的基本網絡結構是怎樣的?

XMPP中定義了三個角色,客戶端,服務器,網關。通信能夠在這三者的任意兩個之間雙向發生。服務器同時承擔了客戶端信息記錄,連接管理和信息的路由功能。網關承擔著與異構即時通信系統的互聯互通,異構系統可以包括SMS(短信),MSN,ICQ等。基本的網絡形式是單客戶端通過TCP/IP連接到單服務器,然后在之上傳輸XML。

3. XMPP通過TCP傳什么了?

傳輸的是與即時通訊相關的指令。在以前這些命令要么用2進制的形式發送(比如QQ),要么用純文本指令加空格加參數加換行苻的方式發送(比如MSN)。而XMPP傳輸的即時通訊指令的邏輯與以往相仿,只是協議的形式變

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

日志組件slf4j介紹及配置詳解

2019獨角獸企業重金招聘Python工程師標準>>> 原文出自 1 基本介紹 每一個Java程序員都知道日志對于任何一個Java應用程序尤其是服務端程序是至關重要的,而很多程序員也已經熟悉各種不同的日志庫,如java.util.logging、Apache log4j、logback。…

count(*),count(1),count(0)效率

網上文章很多,今天分別跑了一張2000多萬行的表,該表沒有主鍵,索引,約束條件。 結果是,效率差不多

android 轉場動畫兼容問題,【Android】關于ARouter轉場動畫的問題

實現從主頁跳轉到搜索頁,再從搜索頁回退主頁withTransition(int resId,int resId)這個方法兩個參數第一個的意思是, A 到 B, B 的入場動畫第二個的意思是,A 到 B, A 的出場動畫即,入場動畫,出場…

Oracle 一些常用函數

ROUND: 如何使用 Oracle Round 函數 (四舍五入) 描述 : 傳回一個數值,該數值是按照指定的小數位元數進行四舍五入運算的結果。 SELECT ROUND( number, [ decimal_places ] ) FROM DUAL 參數: number : 欲處理之數值 decimal_places : 四舍五入 , 小數取…

基于github和hexo搭建博客 本地hexo博客搭建

正常都應該講一講為什么搭建博客,不過既然您能看見這篇文章,就說明你想搭建一個自己的博客,無論自己記錄自己的東西,或是為了顯得高大上。那就不廢話了,進入正題。 其實教大家搭建博客的文章很多,講的都不錯…

react不同環境不同配置angular_叫雨山斗雞優勢在哪里,環境不同,價值不同

叫雨山斗雞優勢在哪里,環境不同,價值不同 原生態高端食材網站,專注金線蓮、散放斗雞、斗雞蛋、野生蜂蜜、小耳黑豬肉等云南原生態套餐定制的高端食材供應商。云南叫雨山斗雞叫雨山斗雞原生態飼養 叫雨山斗雞源自于魯西斗雞,初代斗…

android studio 布局拖拽,為什么使用android studio不能像老師一樣在Design里隨意拖動控件...

qq_噴泉_02017-07-25 13:08已采納xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layout_height"match_parent"tools:context"co…

Oracle自定義函數(不斷更新)

1、將數字轉為ip地址:IPAdd_DotNumFormat create or replace FUNCTION IPAdd_DotNumFormat(v_LfValue number)return varchar2 asv_DotNumString varchar2(50);v_flg Integer;v_NewLfValue number;v_tmp Integer;v_P1 Integer;v_P2 Integer;v_P3 Integer;v_P4…

element ui select設置不顯示不存在的項_appium—等待時間設置方法

引言:在做UI自動化的過程中,我們有時候為了等待元素的出現,需要加一些等待時間來幫助,但是有時候時間加的過多或者過少,這個沒有辦法判斷,今天就介紹幾種等待時間,我們看看那種適合我們 一、強制…

android rn 和webview,RN Webview與Web的通信與調試

React Native Version:0.51RN 在 0.37 版本中加入了WebView功能,所以想要在使用WebView,版本必須>0.37,發送的 message 只能是字符串,所以需要將其他格式的數據轉換成字符串,在接收到后再轉換回去,其實直接用JSON.s…

數據庫完整性檢查

為了主動發現數據庫側頁損壞,保證數據庫邏輯和物理完整性,計劃每周六上午6點,針對生產主庫上的所有系統和用戶數據庫執行DBCC CHECKDB,將結果記錄到表中。以下為理論依據:SQL Server數據庫可以檢測出頁損壞&#xff0c…

GNU概念

一、GNU的意思 GNU的全稱:GNU is not unix,意思是:GNU 不是 unix 問:為什么這樣取名? 答:為了打造一個不是unix又類unix的系統 二、GNU的歷程 GNU計劃是由Richard Stallman 在1984年公開發起的&#x…

Item 13 Minimize the accessibility of classes and members

區分好的模塊和不好的模塊最重要的因素是看這個模塊對于其他模塊而言是否隱藏內部數據和其他細節。好的模塊會把所有細節隱藏起來,把API和實現隔離開來,模塊之間用API通信。這就是information hiding或者封裝(encapsulation)。是軟件設計基本原則之一。 …

html 物流狀態,使用css實現物流進度的樣式的實例代碼

效果:css樣式:ul li {list-style: none;}.package-status {padding: 18px 0 0 0}.package-status .status-list {margin: 0;padding: 0;margin-top: -5px;padding-left: 8px;list-style: none;}.package-status .status-list>li {border-left: 2px so…

GPL概念

一、GPL概念 全稱為 General Public License,翻譯為通用公共許可,是最著名的開源許可協議。Linux內核就是在GPL許可下發布的,GPL許可是由自由軟件基金會Free Software foundation 創建的,由Richard Stallman 和一幫人共同努力發起…

點鈔機語音怎么打開_原來微信語音一樣能轉發? 居然還有人不知道

微信怎么把語音轉發給別人?原來這個簡單啊,微信作為一款我們最常用的社交工具,無論是生活還是工作過程中,我們都能夠用到微信。那么大家知道微信怎么把語音轉發給別人嗎?有的人肯定就會回答說:"跟轉發…

圓與平面的接觸面積_視頻:5.3RJ六年級上冊圓的面積例題+習題講解

一、什么是面積物體表面的大小就是它們的面積。長方形的面積長寬正方形的面積邊長邊長平行四邊形的面積底高三角形的面積底高2梯形的面積(上底下底)高2圓所占平面的大小叫做圓的面積。二、剪切法推導圓的面積把圓轉化成近似的長方形,當平均分成的份數越來越多&#…

Reactjs 踏坑指南1: 一些概念

Reactjs 踏坑指南1: 知識點 什么是React虛擬DOMJSX組件生命周期和狀態事件單項數據流Reactjs和Angularjs的對比React簡介 React是一個Facebook開發的UI庫。使用這個庫可以很方便的開發交互式的、具有表達力的和可重用的UI組件。本身并不是一個框架,可視為…

Linux為什么受歡迎?

1、Linux以高效和靈活著稱,實現了幾乎全部的Unix特性,同時具備多任務,多用戶的能力,支持多線程,多CPU架構。 2、Linux操作系統軟件包:包含了文本編輯器,高級語言編譯器,以及X-Windo…