我需要为网站实施聊天系统,以便客户可以通过网站在线与他们的客户服务代表进行一对一的交谈。
所以我需要的是一个系统:
到目前为止我所考虑的是:
我的问题:
答案 0 :(得分:2)
您错过的一个选项是基于SIP的选项。 SIP和XMPP一直被认为有些重叠,尽管XMPP似乎已经赢得了即时消息的特定情况。我对SIP的IM没有任何了解。
我会选择XMPP,因为:
服务器实施已经成熟,这意味着如果需要,您可以稍后更改服务器,而不会影响基础架构的其余部分。
有许多现成的客户,包括适合您银行客户的客户(AJAX)以及适合您的银行经理(桌面)的客户。
IM over XMPP很常见。 SIP最常见的情况是VoIP。如果您尝试通过SIP获取IM的帮助,大多数SIP专家往往会比IM更了解语音。如果您尝试通过XMPP获取IM的帮助,那正是XMPP专家始终处理的问题。这同样适用于文档:SIP文档将倾向于围绕VoIP。
在我看来,使用不支持XMPP或SIP的解决方案在开发方面是一个死胡同。甚至谷歌和Facebook现在也在使用XMPP。 XMPP现在似乎是面向未来的选择。
IRC是一种多对多的聊天机制。有DCC,但主要是建立一对一的通信渠道。我认为,如果你确实实现了基于IRC的东西,那么你会花费大量的时间来完成你不想要它的多对多功能,并且除了你之外不会有太多其他功能。 d还必须将DCC实现替换为AJAX / XmlHttpRequest / WebSockets。
如果您最终定制的东西越来越多,XMPP设计精良,规范明确,是一个良好的基础。您可以在不中断或头痛的情况下逐步替换Web客户端,桌面客户端和服务器。
一些可能的警告:
XMPP服务器希望与其他服务器通信,因为该协议旨在联合。你需要确保不会发生这种情况。 XMPP通常在5222上用于客户端 - >服务器,5269用于服务器< - >服务器,但也使用SRV。
您选择的客户也是如此。您可能需要将其剪切下来以确保用户无法使用更常用的常用功能,例如在名册中添加和删除用户(更糟糕的是,例如,GTalk的外人会设法混淆并可能将您的客户网络化)
我认为您可能对XMPP提出的两个最大问题是:
管理XMPP服务器上的用户和名单,因为它们主要用于一般用途而不是沙盒环境。服务器倾向于期望并允许客户注册,设置密码等,而你可能想要防止这种情况发生并自己管理所有内容。
删除所有可能导致问题的额外功能。您可能不希望您的客户互相交谈,传输文件等。
我在2002年左右设置并维护了一个私有的多站点,多服务器,私有XMPP安装,涵盖了许多连接的客户。我必须做的主要事情是:
如上所述,减少了服务器实施。我使用了jabberd 1.x,它使用XML文件进行配置。我通过提供已预先填充的名册XML文件将其与我们的用户数据库集成。理论上,用户可以搞乱他们的名单,但他们会被服务器覆盖。实际上,这并没有发生,因为客户端软件阻止了它。您可能需要更进一步,但我相信现在有足够的服务器允许它。
获取可自动预先配置且不会搞砸的客户端实现。我选择并修补了特定客户端(Psi)以添加“锁定”模式,该模式可用于删除所有与配置相关的UI元素,包括名单管理选项。而是由服务器自动完成配置。然后,用户将拥有一些简单的东西,他们没有必要配置,也不会出错。这样的事情可能适用于您的银行经理 - 这将大大节省支持。
答案 1 :(得分:0)
很久以后,出现了一些较新的技术,即WebRTC。
它允许以P2P方式进行音频/视频呼叫,数据传输,同时使用本机浏览器API。