项目的消息服务器选择谷歌曾使用过的Openfire,3.7版本。因为项目需要,系统整体架构是B/S架构,通俗点就是Web IM,当然我们更多的是使用它来实时传递消息(控制,业务,IM)。系统本身的设计考虑到了大并发,而我们的业务情况:会有大并发存在(10万级,对于IM来说比较大了),而客户端主要是接收消息且消息频率不高(几秒或者数10分钟一个,同样的间隔可能会存在上行消息),所以使用官方的Connection Manager(CM)来做一个“整流器“,前端客户端之前使用Strophe,发现Strophe在不使用CM时与Openfire连接比较正常,存在的偶尔断开问题也解决了,但实际发现在客户端与服务器中间夹了个CM后就连不通了,收到包不正确导致不能成功连接(暂不清楚是否为CM与Strophe存在在兼容性问题)。花了很长时间做JS通过Connection Manager连接OpenFire,一直未能成功,之前一直在CM和Strophe上想办法,今天无意换了JSJaC Simple Client 后成功了。btw:使用2G内存,普通PC,CentOs系统,部署一个CM,单台达到了5.5万在线用户,能力非常也得,同时该机各项指标较平衡,内存稍有点吃紧。CM整体原理也数据库连接池类似,N个客户端连接CM,CM再创建少数几个与Openfire的连接,N个客户端在需要与Openfire(其它JID)通信时由CM来分配连接,当然当请求较大时,这些客户端将排队使用。
分享到:
相关推荐
**Openfire** 是基于XMPP协议的服务器,用于建立即时通讯网络。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准,用于实时通信和协作。Openfire提供了用户管理、群组聊天、文件传输等...
2. **OpenFire服务器**:OpenFire是基于Java开发的开源XMPP服务器,提供了易于管理的Web界面。它支持多种操作系统,包括Windows、Linux和Mac OS,能快速部署并配置。OpenFire不仅提供了基本的即时通讯功能,还支持...
总结,"基于openfire + jwchat 的 WEB IM"项目利用Openfire的XMPP服务和jwchat的JavaScript库,在MyEclipse中构建了一个功能齐全的Web即时通讯系统。开发者通过整合前后端代码,实现了用户注册、登录、聊天等一系列...
本篇文章将深入探讨基于XMPP协议的Android即时通讯系统实现,包括Openfire服务器的部署以及Asmack库的使用。 1. **XMPP协议**: XML Messaging Protocol(XMPP)是一种基于XML的开放标准协议,最初由Jabber项目...
XMPP+Openfire4.5.1+Smack4.3.4+MySql,支持手机对手机,手机对PC(Spark)的消息收发
Android XMPP例子(Openfire+asmack+spark)是一个典型的基于Android平台的即时通讯(Instant Messaging,IM)应用实现,利用了XMPP协议、Openfire服务器、asmack库以及Spark客户端工具。XMPP(Extensible Messaging ...
首先,OpenFire是一款用Java编写的开源XMPP服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,这个协议被广泛用于即时通讯系统,提供实时通讯和在线状态等功能。OpenFire的特点包括高效、可...
总的来说,Openfire、Spark和Smack的组合提供了一套完整的、可扩展的、基于XMPP的即时通讯解决方案。开发者可以根据项目需求,灵活选择使用Openfire作为服务器,Spark作为客户端,或者利用Smack开发自己的客户端应用...
先说一下为什么要写这篇博客,是因为本人在周末在研究XMPP和OpenFire,从网上下载了个Demo,但跑不起来,花了很长时间,经改造后,跑起来了,写个篇博文也是希望后边学习XMPP和OpenFire的同学下载后直接运行,少走...
OpenFire是一个基于XMPP协议的IM服务器端实现,提供了一些基本功能,但真的很基本!庆幸的是,它也提供插件的扩展,像Spark一样,我同样强烈建议使用插件扩展的方式来增加新的功能,而不是修改人家的源代码。 Spark...
Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark是与Openfire配合使用的桌面客户端,支持Windows、Mac和Linux等多个平台。SparkWeb则是Spark的网页版本,用户可以通过浏览器...
首先,Openfire是一款开源、基于Java的XMPP(Extensible Messaging and Presence Protocol)服务器。XMPP是一种实时通信协议,广泛用于实现即时消息、在线状态等。Openfire的优势在于其易用性、稳定性和可扩展性,...
Openfire是一款开源的XMPP服务器,而Smack是Java和Android上用于XMPP协议的客户端库。 首先,我们需要安装和配置Openfire服务器。访问Openfire官方网站下载最新版本的安装包,然后按照安装向导进行安装。在服务器...
在本文中,我们将讨论基于 Openfire 和 Spark 的 XMPP IM 软件开发。我们将从 XMPP 协议的介绍开始,接着讨论如何使用 Spark 和 Openfire 来实现一个完整的 IM 软件开发。 什么是 XMPP? XMPP(Extensible ...
Openfire是一款开源的、基于XMPP(Extensible Messaging and Presence Protocol)协议的即时通讯服务器,而Smack是Java平台上的一个XMPP客户端库,用于实现与Openfire服务器的通信。 【描述】中的关键知识点包括: ...
XMPP是一种基于XML的即时通讯协议,它最初源于Jabber项目,用于实现服务器之间的即时消息传递和在线状态探测。XMPP的设计允许不同平台和应用程序之间的兼容性,使得互联网用户能够跨越操作系统和浏览器差异进行即时...
综上所述,"多人在线聊天系统源码 xmpp+openfire"项目涉及了即时通讯协议的设计、实时服务器的部署与管理,以及移动应用的开发,这些都是构建高效、稳定且功能丰富的多人聊天系统的基石。通过学习和实践这个项目,...
Openfire是一款基于XMPP协议的服务器,而Spark则是一个客户端应用程序,两者结合可以构建出一套完整的实时协作系统。 Openfire是用Java开发的,它通过XMPP(可扩展消息传递和Presence协议)提供实时通信服务。XMPP...
openfire+spark+smack工具,针对即时消息模拟以及xmpp协议测试有很大的帮助