代码之家  ›  专栏  ›  技术社区  ›  Adrian Smith

你会使用什么即时通讯系统来扩展一个与客户服务代表进行1:1安全聊天的网站?[关闭]

  •  2
  • Adrian Smith  · 技术社区  · 14 年前

    我需要为一个网站实现一个聊天系统,以便客户可以通过网站与他们的客户服务代表进行一对一的在线交谈。

    所以我需要的是这样一个系统:

    • 在浏览器中显示代表列表,状态指示他们是否联机
    • 允许用户打开与代表的聊天;可能会向用户显示一个新屏幕或弹出窗口,让他们可以在其中聊天。
    • 这个网站是HTTP的,但是聊天必须是HTTPS的,所以我想在现有的屏幕上有一个覆盖层来进行聊天,比如像Facebook那样,并不是真的可行
    • 经理需要一些应用程序或网站,在那里他们可以登录,并与客户聊天。
    • 我们在大多数情况下都使用Java,但这并不重要,如果需要的话,我不介意在另一种技术中安装一个系统。

    • 使用Jabber/XMPP,使用AJAX客户端通过HTTPS进行通信;还有很多,我不确定哪一个是最好的,也许 JWChat ( screenshot ). 这样做的好处是,如果银行经理愿意,可以使用桌面客户机(例如Windows客户机),如果他们整天都在使用桌面客户机,它可能会有更好的UI。
    • 我做了很多GWT编程,在《GWT应用程序》一书中有一个简单的即时消息客户端实现( demo ). 也许我也可以用同样的方式自己卷?

    我的问题:

    • 我没有考虑过什么方法?
    • 你会采取什么方法?e、 你用过的软件对你有用吗?
    • 如果您使用Jabber/XMPP(没有进一步的信息,我倾向于使用这个解决方案……),您会考虑使用哪个AJAX客户机?
    2 回复  |  直到 13 年前
        1
  •  2
  •   Robie Basak    14 年前

    你错过了一个基于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现在看来是一个经得起未来考验的选项。

    • 如果您最终定制的东西越来越多,XMPP是精心设计,明确规定和良好的基础开始。您可以增量地替换web客户机、桌面客户机和服务器,而不会造成中断或头痛。

    一些可能的警告:

    • XMPP服务器 与其他人交谈,因为协议是设计为联邦的。你必须确保这不会发生。XMPP通常在5222上为客户机服务器和5269上为服务器服务器说话,但也使用SRV。

    • 无论你选择哪个客户,情况都一样。您可能需要减少它,以确保用户不能使用更通用的功能,例如添加和删除名册中的用户(更糟糕的是,GTalk上的局外人试图混淆或仿冒您的客户)。

    我认为XMPP最大的两个问题是:

    1. 管理XMPP服务器上的用户和名册,因为它们主要用于一般用途,而不是沙盒环境。服务器将倾向于期望并允许客户机注册、设置密码等,而您可能希望两者都能防止这种情况发生,并自行管理一切。

    2. 删除所有可能导致问题的额外功能。你大概不想让你的客户互相交谈,传输文件等等。

    1. 如上所述减少服务器实现。我使用jabberd 1.x,它使用XML文件进行配置。我通过提供已经预填充的花名册XML文件将其与我们的用户数据库集成。理论上,用户可能会弄乱他们的名册,但他们会被服务器覆盖。实际上,这并不是因为客户端软件阻止了它。您可能需要更进一步,但我相信现在有足够灵活的服务器来支持它。

    2. 获取一个可以自动预配置而不被破坏的客户端实现。我选择并修补了一个特定的客户端(Psi)来添加一个“锁定”模式,该模式可用于删除所有配置相关的UI元素,包括排班管理选项。而是由服务器自动完成配置。用户会有一些简单的东西,他们不必配置,也不会出错。像这样的事情可能对你的银行经理有用-这将节省大量的支持。

        2
  •  0
  •   nha    9 年前