程序员开发实例大全宝库

网站首页 > 编程文章 正文

XMPP协议实现推送、IM服务器、客户端汇总-前言

zazugpt 2024-09-04 00:12:38 编程文章 25 ℃ 0 评论

XMPP是一套基于可扩展标记语言(XML)的协议,它是用于实时通讯的开源协议,它不同于以往的二进制协议,也不同于文本型协议,它继承了XML的优良传统,使得我们可以更加容易理解与扩展性,XMPP协议无论在服务器还是客户端上还是库都已经存在一些成熟的案例了。这一节我把使用XMPP协议的项目、客户端、服务器与库列举出来,方便大家查阅。

  • 目前使用XMPP的项目有Google,WhatsApp和Apple,相信大家看了这些大咖用了这个协议,我们自己使用这个协议也毫无疑问了吧。


公司用途描述

Google推送谷歌提供接口实现推送通知,其中就是使用XMPP协议来实现的

WhatsApp聊天使用XMPP实现聊天服务

Apple推送Apple使用XMPP来投递推送服务.
  • XMPP协议客户端目前实现的有,其中beem,个人感觉推广力度还算比较可以,不过只能用于Android客户端上,如果要开发IOS可以找另外的框架,比如是XMPPFramework,我们国内研究得比较多的是openfire+Spark+smack这个组合,其中openfire是服务器,spark是桌面电脑客户端,smack是api,目前来说只是用于android的。这个组合,我将在下一节会详细说的。

名字平台
AdiumOSX
AQQWindows
AstraChatMobile (Android, iOS) / Linux / OSX / Windows
beejiveMobile (Android, BlackBerry, iOS)
BeemMobile (Android)
BitlBeeLinux
BlueJabbMobile (Android, Blackberry (BBOS), Nokia Symbian S40/S60 and Asha)
BuddycloudMobile / Web / Console
CandyBrowser
CoccinellaLinux / OSX / Windows
ConversationsMobile (Android)
Converse.jsBrowser
Coversant SoapBox CommunicatorWindows
CrosstalkMobile (iOS)
eM ClientWindows
EmpathyLinux
FinchConsole / Text-Mode
GajimLinux / Windows
ChatSecureMobile (Android)
GNU FreetalkConsole / Text-Mode
GreenJabIBM i
Apple MessagesOSX / iOS
IM+Mobile
InstantbirdLinux / OSX / Windows
irssi-xmppConsole / Text-Mode
jabber.elLinux
JabbimLinux / OSX / Windows
JabiruMobile (Android)
JAJCWindows
JappixBrowser
JitsiLinux / OSX / Windows
JSXCBrowser
JWChatBrowser
KaduLinux / OSX / Windows
KopeteLinux
mcabberConsole / Text-Mode
Miranda IMWindows
Miranda NGWindows
MovimBrowser
Monal IMMobile (iOS)
Mozilla ThunderbirdLinux / OSX / Windows
OneTeamLinux / OSX / Windows
OneTeam for iPhoneMobile (iOS)
PoezioConsole / Text-Mode
PidginLinux / OSX / Windows
ProfanityConsole / Text-Mode
PsiLinux / OSX / Windows
Psi+Linux / OSX / Windows
Quiet Internet PagerWindows
qutIMLinux / OSX / Windows
Salut à ToiLinux / Console / Text-Mode / Browser
Sim-IMLinux
SparkLinux / OSX / Windows
SparkWebBrowser
SwiftLinux / OSX / Windows
TalkonautMobile
Tigase MessengerBrowser
Tigase MinichatBrowser
TkabberLinux / OSX / Windows
TrillianWindows/ OSX / Mobile / Browser
V&V MessengerWindows
Vacuum-IMLinux / OSX / Windows
VayusphereMobile (BlackBerry)
VSTalkWindows
WTWWindows
XabberMobile (Android)
xmppchatBrowser
XMPPWebChatBrowser
yaximMobile (Android)
  • XMPP服务器有如下的服务,其中我举例说一下Openfire,Tigase,这两个也是资料比较齐全的,提供的维护的,前者可以方便快速的部署各种平台的,比较是windows,linux,mac系统,但是对于负载均衡比较难部署,而对于后者,可以实现百万级的并发,可以在数据库设置不同的机型。

NamePlatform(s)License
Apache VysperWindows / LinuxApache License Version 2.0
CitadelLinuxGPL3
CommuniGate ProLinux / Mac OS X / WindowsCommercial
Coversant SoapBox ServerWindowsCommercial
djabberdLinuxGPL3
ejabberdLinux / Mac OS X / Solaris / WindowsGPL2
IceWarpLinux / WindowsCommercial
iChat ServerMac OS XCommercial
in.jabberdLinuxGPL2
Isode M-LinkLinux / Solaris / WindowsCommercial
Jabber XCPLinux / Solaris / WindowsCommercial
jabberd 1.xLinuxGPL2
jabberd 2.xLinux / *BSD / Solaris / WindowsGPL2
Jerry MessengerLinux / WindowsCommercial
KwickserverWindowsGPL
Metronome IMLinux / Mac OS XISC/MIT
MongooseIMLinux / Mac OS XGPL2
OpenfireLinux / Mac OS X / Solaris / WindowsApache
Oracle Communications IM ServerLinux / Solaris / WindowsCommercial
Prosody IMLinux / Mac OS X / WindowsMIT/X11
psycedLinux / Mac OS X / WindowsGPL2
Siemens OpenScapeLinuxCommercial
TigaseLinux / Solaris / Mac OS X / WindowsAGPL
VinesLinux / Mac OS XMIT
WokkelLinux / Solaris / Mac OS XMIT

3、xmpp的库,如下列表显示,刚才提到的比较常用的库就是android平台上有Smack,Tinder,IOS平台上有xmppframework。

XMPPFramework的地址

https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework

Smack和Tinder的地址

http://www.igniterealtime.org/downloads/index.jsp#smack




NameLanguage(s)License
agsXMPP SDKC# / .net / MonoGPL /Comercial
AnyEvent::XMPPPerlArtistic
as3xmppFlash / ActionScriptGPLv2
AXMPPAdaBSD
BabblerJavaMIT
BlatherRubyMIT
cl-xmppLispMIT
Coversant SoapBox SDK StudioC# / .net / Mono / C++Commercial
dojox.xmppJavaScript
dxmppC++Boost
Echomine FeridianJava
EiffelPHP
emiteJava
exmppErlang
frabjousJavaScript
glooxC++
goexmppGo
headstockPython
hsxmppHaskell
hxmpphaXe
iksemelC
IP*Works Internet ToolkitActiveX, C++, C#,
IrisC++
jabber.net)C# / .net) / Mono
jabber.pyPython
JabberLibTcl
Jabber Stream Objects (JSO)Java
JAXLPHP
jQuery-XMPP-pluginJavaScript
JreenC++/Qt
JSJaCJavaScript
libstropheC
libpurpleC/C++GPL
LightrPHP
LoudmouthC
LoudmouthRuby
MatriXC# / .net) / Mono
net::XMPPPerl
node-xmppJavaScript
oajabberC++
Pontarius XMPPHaskellBSD
pyxmppPython
pyxmpp2Python
QXmppC++
seesmic-as3-xmppFlash / ActionScript
SkatesRubyMIT
SleekXMPPPython
SmackJava (Java SE 7 and Android)Apache 2.0
stanza.ioJavaScript
strophe.jsJavaScript
StropheCappuccinoObjective-J
SwiftenC++
TinderJavaAoache 2.0
txmppC++
Twisted WordsPython
UbeityC#
VerseLua
XIFFFlash / ActionScript
xmpp-psnPython
jaxmpp2Java / Android / Google Web Toolkit
xmpp4jsJavaScript
XMPP4RRuby
xmpp4r-simpleRuby
xmppframeworkObjective C
xmpphpPHP
xmpppyPython
XMPP-FTWJavaScript
Z-XMPPJavaScript

以上是XMPP目前应用的范围了,下一节我会讲解一下XMPP服务器的部署与测试,欢迎留言咨询与订阅我的头条号:一点热。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表