首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你会用什么即时通讯系统来扩展一个网站,与他们的客户服务代表进行1:1的安全聊天?

你会用什么即时通讯系统来扩展一个网站,与他们的客户服务代表进行1:1的安全聊天?
EN

Stack Overflow用户
提问于 2010-10-18 15:43:04
回答 2查看 1.1K关注 0票数 2

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

所以我需要的是一个系统

  • 显示浏览器中的代表列表,状态指示它们是否联机。
  • 允许用户打开与代表的聊天;用户可能会看到一个新的屏幕或弹出,在那里他们可以聊天。
  • 这个网站是HTTP的,但是聊天需要HTTPS,所以我想在退出的屏幕上加一个覆盖,这样的聊天,比如Facebook这样做,是不可能的。
  • 经理需要一些应用程序或网站,他们可以登录,并与他们的客户聊天。
  • 显然,如果可能的话,我更喜欢开源的解决方案。
  • 我们在大多数情况下都使用Java,但这并不重要,如果有必要,我不介意在另一种技术中安装系统。

到目前为止我考虑的是:

  • 使用Jabber/XMPP,使用AJAX客户端在HTTPS上进行通信;还有很多,我不确定哪个最好,也许是JWChat (屏幕截图)。这样做的好处是,银行经理可以使用桌面客户端(如Windows客户端)(如果他们愿意的话),如果他们整天使用桌面客户端,用户界面可能会更好。
  • "irc“也是一种开放的协议,毫无疑问有许多客户端实现可用;但是,我认为没有办法满足使用HTTPS (或者其他一些安全协议)的安全要求。
  • 我做了很多GWT编程,在"GWT应用程序“一书中有一个简单的即时消息客户端实现(演示)。也许我可以用类似的方式翻滚自己的?

我的问题:

  • 我没有考虑过什么方法?
  • 你会采取什么方法?你用过的软件对你有用吗?
  • 如果您要使用Jabber/XMPP (没有进一步的信息,我会倾向于该解决方案)您会考虑哪个AJAX客户端?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-11 17:24:16

您错过的一个选项是基于SIP的东西。SIP和XMPP一直被认为有些重叠,尽管XMPP似乎在即时消息的特定情况下胜出了。我对SIP上的IM没有任何了解。

我会使用XMPP,因为:

  • 服务器实现已经成熟,这意味着如果需要,可以在不影响其他基础结构的情况下更改服务器。
  • 有许多现成的客户,包括适合您的银行客户(AJAX)和适合您的银行经理(桌面)。
  • IM超过XMPP是常见的。SIP最常见的情况是VoIP。如果您尝试通过SIP获得IM的帮助,大多数SIP专家对语音的了解将远远超过IM。如果您试图通过XMPP获得IM的帮助,这正是XMPP专家一直在处理的问题。这同样适用于文档: SIP文档将倾向于围绕VoIP进行调整。
  • 在我看来,使用不支持XMPP或SIP的解决方案在开发方面是一个死胡同。就连谷歌和Facebook现在也在使用XMPP。XMPP现在似乎是未来的证明选项。
  • IRC是一种多对多的聊天机制。有DCC,但主要是建立一对一的沟通渠道.我认为,如果您确实实现了一些基于IRC的功能,那么您将花费大量的时间在不需要它的地方提取多到多的函数,并且不会有太多的其他功能,因为您还必须用AJAX/XmlHttpRequest/WebSocket代替DCC实现。
  • 如果您最终定制的东西越来越多,XMPP是精心设计,详细说明和一个良好的基础开始。您可以逐步替换web客户端、桌面客户端和服务器,而不会中断或头痛。

一些可能的注意事项:

  • XMPP服务器希望与其他服务器对话,因为该协议是为联邦设计的。你必须确保这一切不会发生。XMPP通常用于客户机->服务器的5222和服务器<->服务器的5269,但也使用SRV。
  • 无论你选择哪一个客户,也是如此。您可能需要削减它,以确保用户不能使用更通用的通用功能,例如从名册中添加和删除用户(更糟的是,外来者)。GTalk试图迷惑你的客户,也许还会屈从于你的客户)。

我认为您在XMPP中可能遇到的两个最大问题是:

  1. 管理XMPP服务器上的用户和名册,因为它们大多是为一般用途而设计的,而不是沙箱环境。服务器将倾向于期望并允许客户端注册、设置密码等,而您可能希望既防止这种情况发生,又自己管理一切。
  2. 删除所有可能导致问题的额外功能。你大概不想让你的客户互相交谈,转移文件等等。

我已经建立和维护了一个私人多站点,多服务器,私人XMPP安装跨越多个连接的客户,早在2002年左右。我要做的主要事情是:

  1. 如上文所述,减少服务器实现。我使用jabberd 1.x,它使用XML文件进行配置。我通过提供已经预先填充的名册XML文件将其与我们的用户数据库集成在一起。理论上,用户可以扰乱他们的名册,但他们会被服务器覆盖。在实践中,这种情况并没有发生,因为客户端软件阻止了它。您可能需要更进一步,但我相信现在有足够灵活的服务器来允许它。
  2. 获取一个客户端实现,该实现可以自动预先配置,并且不会造成混乱。我选择并修补了一个特定的客户端(Psi)以添加“锁定”模式,该模式可用于删除所有与配置相关的UI元素,包括名册管理选项。相反,配置由服务器自动完成。用户将有一些简单的东西,他们不需要配置,而且不会出错。像这样的东西可能对你的银行经理有用-它将节省很多支持。
票数 2
EN

Stack Overflow用户

发布于 2015-12-03 13:49:00

这是很晚的事,一些较新的技术出现了,即WebRTC

它允许音频/视频调用,数据以P2P的方式传输,同时使用本地浏览器API。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3960786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档