`
bluky999
  • 浏览: 719749 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

IM 系统架构与开发的相关知识

阅读更多

这只是一个关于IM系统架构与开发相关知识的简易list 。

 

0 最权威的资料,当然是来自 xmpp的:  http://xmpp.org , 列举有主要的服务端、客户端  和 库

 

服务端:

Name Platform(s) License Details
Apache Vysper Windows / Linux Apache License Version 2.0 mina.apache.org
Citidel Linux GPL3 citadel.org
CommuniGate Pro Linux / Mac OS X / Windows Commercial communigate.com
djabberd Linux GPL3 danga.com
ejabberd Linux / Mac OS X / Solaris / Windows GPL2 process-one.net
IceWarp Linux / Windows Commercial icewarp.com
iChat Server Mac OS X Commercial apple.com
in.jabberd Linux GPL2 inetdxtra.sourceforge.net
Isode M-Link Linux / Solaris / Windows Commercial isode.com
jabberd 1.x Linux GPL2 jabberd.org
jabberd 2.x Linux / Solaris / Windows GPL2 jabberd2.xiaoka.com
Jabber XCP Linux / Solaris / Windows Commercial jabber.com
Jerry Messenger Linux / Windows Commercial j-livesupport.com
Kwickserver Windows GPL kwickserver.info
Openfire Linux / Mac OS X / Solaris / Windows GPL igniterealtime.org
Open IM Linux BSD openim.techlab.smk.fr
Prosody Linux / Mac OS X / Windows MIT/X11 prosody.im
psyced Linux / Mac OS X / Windows GPL2 psyced.org
SoapBox Server Windows Commercial coversant.net
Oracle Communications Instant Messaging Server Linux / Solaris / Windows Commercial oracle.com
Tigase Linux / Solaris / Mac OS X / Windows GPL3 tigase.org
Wokkel   MIT wokkel.ik.nu
       

Showing 1 to 23 of 23 entries

 

 

客户端:

Name Platform(s) License Details
Adium Mac OS X   adium.im
Agile Messenger Mobile   agilemobile.com
AQQ Windows   aqq.eu
Ayttm Linux   ayttm.sourceforge.net
beejive Mobile   beejive.com
Beem Mobile   beem-project.com
BitlBee Linux   bitlbee.org
Bombus Mobile   bombus-im.org
BuddyMob Mobile   buddymob.com
Candy Browser   amiadogroup.github.com
Chatopus Mobile   chatopus.com
Citron Windows   citron-im.com
Claros Chat Browser   claros.org
Cleartext EIM Linux / Mac OS X / Windows   cleartext.com
climm Console / Text-Mode   climm.org
Coccinella Linux / Mac OS X / Windows   coccinella.im
Crosstalk Mobile iOS   portablek.com
Digsby Windows   digsby.com
eM Client Windows   emclient.com
emite Browser   google.com
Empathy Linux   live.gnome.org
Exodus Windows   code.google.com
Finch Console / Text-Mode   developer.pidgin.im
Gajim  Linux / Windows   gajim.org
Galaxium Linux   code.google.com
glu Windows   xeus-messenger.blogspot.com
GNU Freetalk Console / Text-Mode   gnu.org
Gossip Linux   developer.imendio.com
iChat Mac OS X   apple.com
iJab Browser   code.google.com
IM+ Mobile   shapeservices.com
imov Messenger Mobile   movsoftware.com
irssi-xmpp Console / Text-Mode   cybione.org
Jabbear Windows / Browser   jabbear.com
Jabber Mix Client Mobile   jabbermixclient.sourceforge.net
jabber.el Linux   emacs-jabber.sourceforge.net
Jabbim Linux / Mac OS X / Windows   jabbim.com
Jabbim for Android Mobile   www.jabbim.com
Jabiru Mobile   jabiru.info
JAJC Windows   jajc.jrudevels.org
Jappix Browser   jappix.com
JBuddy Messenger Linux / Mac OS X / Windows   zionsoftware.com
Jeti Linux / Mac OS X / Windows   jeti-im.org
Jitsi (SIP Communicator) Linux / Mac OS X / Windows   jitsi.org
JWChat Browser   jwchat.sourceforge.net
Kadu Linux / Mac OS X / Windows   kadu.net
Kopete Linux   kopete.kde.org
Lampiro Mobile   lampiro.bluendo.com
m-im Mobile   code.google.com
mcabber Console / Text-Mode   mcabber.com
mChat Mobile   smape.com
Miranda IM Windows   miranda-im.org
Monal IM Mobile   monal.im
OctroTalk Mobile   octro.com
OneTeam Linux / Mac OS X / Windows   oneteam.im
OneTeam for iPhone Mobile   oneteam.im
Oyo Linux / Mac OS X / Windows   bristowsoftware.co.uk
Pandion Windows   pandion.im
Poezio Console / Text-Mode   poezio.eu
Pidgin Linux / Mac OS X / Windows   pidgin.im
Prodromus Browser   forge.webpresso.net
Psi Linux / Mac OS X / Windows   psi-im.org
Psi+ Linux / Mac OS X / Windows   code.google.com
Quiet Internet Pager (QIP) Windows   forum.qip.ru
qutIM Linux / Mac OS X / Windows   qutim.org
saje Linux / Mac OS X / Windows   code.google.com
Salut à Toi Linux / Console / Text-Mode / Browser   wiki.goffi.org
SamePlace Browser   sameplace.cc
Sim-IM Linux   sim-im.org
Slimster Browser   slimster.org
SoapBox Communicator Windows   coversant.net
Spark Linux / Mac OS X / Windows   igniterealtime.org
SparkWeb Browser   igniterealtime.org
Swift Linux / Mac OS X / Windows   swift.im
Synapse Linux   synapse.im
Talkonaut Mobile   talkonaut.com
Tigase Messenger Browser   tigase.org
Tigase Minichat Browser   tigase.org
Tkabber Linux / Mac OS X / Windows   tkabber.jabber.ru
Tlen Linux / Mac OS X / Windows   tlen.pl
Trillian Windows/ Mac OS X / Mobile / Browser   trillian.im
TrophyIM Browser   code.google.com
V&V Messenger Windows   altertech.net
Vacuum-IM Linux / Mac OS X / Windows   vacuum-im.org
Vayusphere Mobile   vayusphere.com
WeeChat Console / Text-Mode   weechat.org
WTW Windows   k2t.eu
Xabber Mobile   xabber.com
xmppchat Browser   babelmonkeys.de
Yambi Windows   yambi.com
Yaxim Mobile   slideme.org
Showing 1 to 91 of 91 entries

 

 

库:

Name Language(s) License Details
agsXMPP SDK C# / .NET / Mono   Website
AnyEvent::XMPP Perl   Website
as3xmpp Flash / ActionScript   Website
AXMPP Ada   Website
Babylon Ruby   Website
Blather Ruby   Website
cl-xmpp Lisp   Website
dojox.xmpp JavaScript   Website
Echomine Feridian Java   Website
Eiffel PHP   Website
emite Java   Website
exmpp Erlang   Website
gloox C++   Website
headstock Python   Website
hsxmpp Haskell   Website
hxmpp haXe   Website
iksemel C   Website
IP*Works Internet Toolkit ActiveX, C++, C#,
.NET, Mono, Delphi, Java
  Website
Iris C++   Website
jabber-net C# / .NET / Mono   Website
jabber.py Python   Website
JabberLib Tcl   Website
Jabber Stream Objects (JSO) Java   Website
JAXL PHP   Website
Jreen C++/Qt   Website
js.io JavaScript   Website
JSJaC JavaScript   Website
libstrophe C   Website
Lightr PHP   Website
Loudmouth C   Website
Loudmouth Ruby   Website
Matrix C# / .NET / Mono   Website
Net::XMPP Perl   Website
oajabber C++   Website
pyxmpp Python   Website
QXmpp C++   Website
seesmic-as3-xmpp Flash / ActionScript   Website
SleekXMPP Python   Website
Smack Java   Website
SoapBox Studio C# / .NET / Mono   Website
strophe.js JavaScript   Website
Swiften C++   Website
Tinder Java   Website
txmpp C++   Website
Twisted Words Python   Website
Verse Lua   Website
XIFF Flash / ActionScript   Website
xmpp-psn Python   Website
xmpp4gwt JavaScript   Website
xmpp4js JavaScript   Website
XMPP4R Ruby   Website
xmpp4r-simple Ruby   Website
xmppframework Objective C   Website
xmpphp PHP   Website
xmppy Python   Website
StropheCappuccino Objective-J   Website
Z-XMPP JavaScript   Website
Showing 1 to 57 of 57 entries

 

 

【我主要关注 java, python的库,以及与android和ios相关的】

 

 

1 tcp/ip 协议,socket通信 , p2p 

 

2 xmpp协议,jabber系统,及其实现:Openfire(wildfire),ejabberd,Jabberd,DJabberd ;客户端 spark

 

 

 

3 服务器推技术,comet: pushlet 

 

4 http长连接: tcp长连接  

 

5 群组聊天,语音,视频,传文件: xmpp jingle , jingle nodes(erlang, java) 

 

P2P  NAT穿透    STUN TURN  ICE    SIP  RTP/RTCP      

 

6 资料

 

+ 一个关于jabber的blog: [截止2009不再更新]    http://hi.baidu.com/jabber  (作者应该是Tim Yang)

+ 关于http长连接的介绍:  http://www.cnblogs.com/Roberts/archive/2010/12/05/1986550.html 

+ 关于服务器推的ibm dw文章: http://www.ibm.com/developerworks/cn/web/wa-lo-comet/

 

7 其他

 

应用集群, 分布式系统,多线程,高并发的应对方案 ,可靠性 

分享到:
评论
8 楼 bluky999 2014-01-23  
IM Observatory
Testing the security of the Jabber/XMPP network.


https://xmpp.net

7 楼 bluky999 2014-01-21  

Libjingle和各协议的关系



http://www.cppblog.com/peakflys/archive/2013/02/04/197709.html
6 楼 bluky999 2014-01-16  
视频: 互联网创业服务器运维工具集 —— 米聊服务器端开源工具选择实践

陈臻 - 小米

http://v.youku.com/v_show/id_XMzUwNjYzNTgw.html




视频: ADC 2012《米聊服务器的技术选型和架构设计》瞿晋萍 - 小米

http://v.youku.com/v_show/id_XNDM0MDQwNjgw.html
5 楼 bluky999 2014-01-15  

Comparison of XMPP server software


https://en.wikipedia.org/wiki/Comparison_of_XMPP_server_software





Comparison of instant messaging clients

https://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients
4 楼 bluky999 2013-12-26  

openfire客户端文件传输学习笔记(一)

http://www.blogjava.net/wkkyo/archive/2012/02/13/369827.html
3 楼 bluky999 2011-08-15  
弹指聊天   - 弹指工作室
whatsapp messager
kakao talk -  free group or one-to-one chats
2 楼 bluky999 2011-08-15  
再补充几个:

飞波 - 多人语音群聊
飞豆 - 开心网群聊产品
瓦力群聊
1 楼 bluky999 2011-08-09  
talkbox  kik 及其引发的山寨之链:

1 talkbox
2 kik

1 米聊 -小米科技 - 雷军
2 微信 - 疼讯 - pony马
3 kiki -> 有你  - 盛大
4 陌陌

其他相关的
1 微视
2 围观
3 个信
4 群群 - 阿里巴巴
5 yy语音
6 imessage - apple

他们相似的地方可能是xmpp, sip或类似协议上构建的系统,当然不只是这一点,像准实时的:语音短信,视频短信,文件传送 ,以及(群组,多人聊天,聊天室)等 。。。

相关推荐

    基于Java语言开发IM即时通讯聊天系统源码.zip

    本项目"基于Java语言开发IM即时通讯聊天系统源码.zip"提供了完整的源代码,帮助开发者深入理解IM系统的实现机制。以下是这个系统的核心知识点及详细解析: 1. **Java编程基础**:作为基础,开发者需要熟悉Java编程...

    Netty+入门与实战:仿写微信+IM+即时通讯系统.rar

    《Netty+入门与实战:仿写微信+IM+即时通讯系统》是一本专注于使用Netty框架构建即时通讯系统的教程。Netty是一个高性能、异步事件驱动的网络应用框架,适用于开发服务器和客户端的Java应用。它极大地简化了网络编程...

    J-IM即时通讯系统 v3.0.0.zip

    J-IM即时通讯系统开源的源代码允许开发者深入理解系统内部工作原理,进行二次开发或定制化改造。这为开发者提供了极大的灵活性,可以根据具体业务需求调整和扩展系统功能。 2. **毕业设计论文**: 对于计算机科学...

    IM服务端开发文档

    IM(即时通讯)服务端开发是一项复杂而关键的任务,它涉及到多个层面的技术,包括服务器部署、数据库管理、网络通信协议以及插件开发等。本文档将深入探讨这些方面,为开发者提供全面的指导。 首先,后台管理地址是...

    JAVA-IM.rar_Java IM开发_Java-IM_java im_java IM_基于im

    本文将详细讲解Java IM开发中的关键知识点。 1. **Java基础知识**:Java是一种面向对象的编程语言,具有跨平台性、安全性强和可移植性好等特点,是构建大型分布式系统的基础。开发者需要熟悉Java语法、类库和面向...

    带后端IM源码控制的APP聊天源码下载 52im即时通讯系统服务器打包.rar

    《52im即时通讯系统:后端IM源码解析与应用》 52im即时通讯系统是一款基于Java技术构建的高效、稳定、可扩展的移动通信解决方案,它为开发者提供了强大的后端源码,用于构建实时聊天应用。该系统不仅支持一对一的...

    Netty 入门与实战:仿写微信 IM 即时通讯系统.zip

    通过模仿微信IM的实现,本书将理论知识与实践案例相结合,使读者能够更好地理解和应用Netty框架。 Netty是一个高性能、异步事件驱动的网络应用程序框架,主要用于快速开发可维护的高性能协议服务器和客户端。其核心...

    分布式IM聊天系统.zip

    2. **分布式IM聊天系统的架构**: - **用户管理Grains**:负责用户注册、登录验证和用户信息管理。 - **会话Grains**:管理一对一或群组聊天的会话,包括会话创建、消息发送和接收。 - **消息Grains**:存储和...

    java IM即时通讯

    Java即时通讯(Instant Messaging,简称IM)是一...综上所述,Java IM即时通讯涵盖了从连接管理、消息传输到客户端开发和服务器架构设计等多个方面,开发者需要全面理解和掌握相关技术,才能构建出高效、稳定的IM系统。

    im.rar_im_im系统_java IM_即时通信_即时通信系统

    在“im_im系统_java_im 即时通信 即时通信系统”的标签中,我们可以看出这个压缩包可能包含了与Java相关的代码、文档或示例,用于构建一个企业级的即时通信系统。 构建一个Java即时通信系统,通常涉及以下几个关键...

    Netty入门与实战:仿写微信IM即时通讯系统

    ### Netty入门与实战:仿写微信IM即时通讯系统 #### 一、引言 随着移动互联网技术的飞速发展,即时通讯(IM)系统已成为人们日常生活中不可或缺的一部分。微信作为国内最受欢迎的即时通讯软件之一,其高效稳定的通信...

    个人IM程序源代码-IM程序

    这个“个人IM程序源代码-IM程序”是一个供个人研究和学习的项目,可以帮助开发者深入了解IM系统的架构和实现原理。下面我们将深入探讨这个项目可能包含的关键知识点。 1. **网络通信协议**:IM程序的核心在于网络...

    java即时通讯(IM)系统.zip

    Java IM系统通常采用客户端-服务器(C/S)架构,其中服务器负责处理消息的转发、存储和用户管理,而客户端则作为用户界面,用于接收和发送消息。服务器端可能包含多个组件,如认证服务器、消息服务器和状态服务器等...

    《基于小程序+Socket+Node的IM系统设计与实现》.rar

    《基于小程序+Socket+Node的IM系统设计与实现》是一门综合性的计算机课程设计,旨在教授学生如何构建一个即时通讯(IM)系统,利用微信小程序作为前端交互平台,结合Socket和Node.js技术进行实时通信。这门课程涵盖...

    IM即时通讯系统.rar

    12. **易语言源码**:易语言是一种中文编程语言,其源码提供了学习和研究IM系统开发的可能性。通过阅读和分析这些源码,开发者可以了解IM系统的基本架构和实现细节。 综上所述,构建一个IM即时通讯系统是一项涉及多...

    IM.zip_im

    标题中的"IM.zip_im"可能是指一个与即时通讯(Instant Messaging, IM)相关的压缩文件,后缀".zip"表明这是一个压缩包,而"_im"可能是为了强调该文件与即时通讯技术有关。描述中的"important file upload to be"暗示...

    Qt-IM-client.rar_QQ_Qt IM_im qt_qt qq_qt开发im

    在Qt中开发IM客户端时,我们需要关注以下几个关键知识点: 1. **网络通信**:Qt提供了QNetworkAccessManager和QNetworkReply等类,用于处理HTTP、FTP等网络协议。在IM客户端中,我们需要使用这些类进行TCP或...

    IM 即时通讯 开发实例

    其核心理念是通过分散的系统架构提供可靠的消息传递和在线状态管理。XMPP服务器作为中心节点,处理客户端之间的连接和消息传输,而客户端则负责用户交互。 首先,让我们来看看使用Java开发XMPP应用的知识点。Java是...

    IM聊天系统源码(C#),支持桌面客户端和Silverlight客户端

    开发这样一个IM聊天系统,需要掌握C#编程、.NET框架、网络编程、多线程处理、UI设计以及数据库操作等多个方面的知识。对于开发者来说,这是一份宝贵的实战项目,不仅可以提升编程技能,还能深入理解即时通讯系统的...

Global site tag (gtag.js) - Google Analytics