目标:创建一个体面的在线 IM 聊天

Posted

技术标签:

【中文标题】目标:创建一个体面的在线 IM 聊天【英文标题】:Goal: to create a decent Online IM Chat 【发布时间】:2009-12-04 10:24:05 【问题描述】:

由于 http 和一般网络的无状态特性,在线聊天看似困难,导致会话超时、用户打开多个窗口以及在一个浏览器窗口上登录不同帐户等障碍。还有用户关闭浏览器窗口和注销等问题,这使得处理未发送的消息相当棘手。

有没有好的文章描述了其他人如何优雅地解决这些问题?

请随意写下您对如何以最大稳健性实现 facebook 或 gmail 等 IM 的想法。

是否有任何体面的代码库/文章可用于与本地托管的 jabber 服务器集成来实现这一目标?

编辑: 该网站将在该网站的任何成员之间进行一对一的聊天 - 就像 bob 可以与 carol 交谈,并且 bob 可以在单独的聊天弹出窗口中同时与 jim 交谈一样。这确实使它成为 jabber/xmpp 的良好候选者。

我很乐意在接下来的 4 天内接受最有帮助的答案。

【问题讨论】:

【参考方案1】:

我很好奇您打算将其用于哪种系统。它是针对小型项目的用户之间的小型聊天系统,还是您正在设想一个大型系统?在线 IM 系统的最大问题是可靠性——以 facebook 为例。他们的聊天系统出了名的漏洞百出,它由大量专业开发人员维护,拥有大量资源供他们使用。

您可能希望从查看 XMPP 组织的 XMPP 客户端列表开始; web clients 有一个部分。如果有任何开源的,您可能可以使用其中一些。同样,如果不确切知道系统打算做什么,就很难说。如果它是一种内部的东西,一种可能性可能是为您的域使用 Google Apps。如果情况变得更糟,并且您手头有很多时间,也许您可​​以编写自己的 LibPurple 库实现以供网络使用(谷歌它;我还没有足够的声誉点来发布第二个超链接) .

希望能提供一些关于从哪里开始的想法。我以前从未这样做过,只是提供一些希望有用的提示。祝你好运!

【讨论】:

很好的答案,谢谢。我已更新问题以回答您的范围界定问题。 我完全同意 facebook 聊天有问题。我使用 GTalk,而不是 Gmail 聊天,所以我不知道 Gmail 聊天有多错误。但我相信它相当稳定。

以上是关于目标:创建一个体面的在线 IM 聊天的主要内容,如果未能解决你的问题,请参考以下文章

IM在线聊天-微聊即时通讯完整源码

如何搭建一个自己的IM即时通讯聊天软件?

体面的视频聊天 API? [关闭]

几十万人同时在线的直播间聊天,如何设计服务端架构?

rust写一个im聊天服务

Openfire XMPP Smack RTC IM 即时通讯 聊天