我正在做一个有即时通讯功能的项目。我们建立了一个自制的服务器,支持聊天消息和通知。客户端(iphone、android和web)与服务器建立长http连接,以获取IM消息和系统通知。我们使用Apache作为连接管理工具,但遇到了CLOSE_WAIT问题。如果我们使用开源XMPP服务器作为openfire或ejabbered,我们可以获得完整的IM和通知功能。但是我们需要努力与XMPP服务器集成,并为web IM提供便利。对我们的项目有什么建议吗?谢谢。
发布于 2011-08-08 01:02:06
在构建基于internet的系统时,您应该始终尝试并使用标准化协议,这就是IETF存在的原因,以确保互操作性。
尽管偶尔有人说XMPP很难使用,但实际上根本不是,它只是一种流XML,因此具有很强的扩展性。看一下已有的库列表,我相信您将在几个小时内就能启动并运行XMPP chat。
在服务器上,我的建议是ejabberd用于高流量,Prosody用于易于使用,Isode用于商业解决方案。
另一种选择是使用ProcessOne这样的XMPP托管提供商,例如Cleartext。
发布于 2011-08-08 00:34:13
根据您的需要,XMPP非常灵活,可以比IM做更多的事情。此外,它也是标准化的,如果以后需要,这应该会更容易合并更多的服务。但是,如果你所需要的只是一个简单的聊天室给你的登录用户,这可能是过度杀伤力。另一种选择可能是非常轻量级的东西,比如Faye或类似的东西。
Faye是基于Node.js和Ruby/Rack的,但我相信你可以在其他平台上找到类似的东西,如果它们不适合你的话。
https://stackoverflow.com/questions/6974032
复制相似问题