2009-08-11 113 views
0

简介:我想开发聊天客户端,用户可以在浏览器上聊天,并使用协议调用xmpp。由于HTML5网络套接字尚不可用,我尝试使用flash xmlsocket代替。浏览器即时消息

问题:我无法通过浏览器连接到服务器。我不知道为什么,但我认为这是服务器配置的问题。

问题:哪个是适合这项工作的最好的jabber服务器?

+0

问题和问题目前并不匹配。 – 2009-08-11 10:59:30

回答

2

很可能这是一个权限问题。无论是或者你刚刚配置了错误的主机/端口连接。 Flash不允许连接到其他主机,而不是它自己获得的主机。您必须明确允许请求的侧的上的闪存连接(所以在您要连接的聊天服务器上)。 Google为crossdomain.xml获取更多信息。

1

ejabberd听起来像是一个合适的选择。 ejabberd是用erlang编写的xmpp服务器,用途非常广泛。众所周知的基于Web的即时通讯服务,如www.meebo.com等已知在ejabberd上运行。它允许你安装其他传输,这将允许你启用与其他协议,如雅虎,MSN,ICQ等用户谈话

你也可以看看xiff动作脚本库通过点燃实时。它是动作脚本中的一个xmpp客户端库。如果你使用这个库,你只需要实现ui组件。

1

嗡嗡...闪光是好的,但你会更好使用像BOSH,这基本上是XMPP上的HTTP层。因为它支持BOSH,我不知道OpenFire或Tigase(但我会说他们这样做),Ejabberd将是一个很好的服务器。其他服务器应该仔细研究,因为它们似乎没有“动态”社区。

您将需要大量的Javascript,为此,我可以推荐StropheJS,这可能是今天最好的库。

我们创建了一个名为Aristochat的MUC(多用户聊天室)客户端,最近在Superfeedr的浏览器中工作。你可以在Github上找到代码和example here

+0

我已经试过了,它工作正常,但问题是客户端每隔n秒就会ping服务器,这是服务器带宽的问题。 – Sareuon 2009-08-12 04:13:18

+0

你尝试了什么?波什,还是Aristochat? 是的,你将从任何客户端(无论你使用bosh,flash还是其他任何东西)连接到服务器,因为本质上聊天是一个“连接”协议。我真的没有什么带宽将是重要的。 – 2009-08-12 15:07:53