简介:我想开发一个聊天客户端,用户可以在浏览器上聊天,我使用协议调用xmpp。由于 HTML5 web socket 尚不可用,我尝试使用 flash xmlsocket。
问题:我无法通过浏览器连接到服务器。我不知道为什么,但我认为这是服务器配置的问题。
问题:哪个是最适合这项工作的 jabber 服务器?
简介:我想开发一个聊天客户端,用户可以在浏览器上聊天,我使用协议调用xmpp。由于 HTML5 web socket 尚不可用,我尝试使用 flash xmlsocket。
问题:我无法通过浏览器连接到服务器。我不知道为什么,但我认为这是服务器配置的问题。
问题:哪个是最适合这项工作的 jabber 服务器?
很可能这是一个权限问题。要么就是你刚刚配置了错误的主机/端口来连接。Flash 不允许连接到其他主机,而不是从它自己获得的主机。您必须在请求的接收端明确允许闪存连接(因此在您连接的聊天服务器上)。Google for crossdomain.xml 以获取更多信息。
ejabberd 听起来像是适合您的选择。ejabberd 是用 erlang 编写的 xmpp 服务器,使用非常广泛。众所周知,许多著名的基于 Web 的即时通讯服务(如 www.meebo.com 等)都在 ejabberd 上运行。它允许您安装其他传输,让您能够与其他协议(如 yahoo、msn、icq 等)的用户交谈。
您还可以通过 ignite realtime 查看xiff动作脚本库。它是动作脚本中的 xmpp 客户端库。如果你使用这个库,你只需要实现 ui 组件。
嗯... flash 没问题,但你最好使用BOSH之类的东西,它基本上是 XMPP 上的 HTTP 层。
Ejabberd 将是一个很好的服务器,因为它支持 BOSH,我不知道 OpenFire 或 Tigase(但我会说他们知道)。应该仔细查看其他服务器,因为它们似乎没有“动态”社区。
您将需要大量的 Javascript,为此,我可以推荐StropheJS,它可能是当今最好的库。
我们创建了一个名为Aristochat的 MUC(多用户聊天室)客户端,它最近在 Superfeedr 的浏览器中运行。您可以在 Github 上找到代码,并在此处找到示例。