我正在开发像Skype这样的信使。为此,我下载了 Ejabberd Server。我正在使用 Java 开发自己的客户端。但我不知道如何配置服务器以便它们可以相互通信。请帮助我。
3 回答
设置 ejabberd 服务器在
http://www.process-one.net/en/ejabberd/guide_en
如果您正在用 Java 编写客户端,我认为使用 Openfire 的 Spark 或 Smack 看起来很有希望。客户端和服务器之间的通信将是 XMPP,最好是加密的。典型的 ejabberd 设置将在启用 ssl 的端口 5222 上有一个侦听器,例如
{听, [ {5222,ejabberd_c2s,[{访问,c2s}, {shaper, c2s_shaper}, {max_stanza_size, XYZ}, %% 或完全跳过 惊吓, {certfile, "/path/to/pemfile"}]}, ...
我认为用 Java 编写客户端的决定不一定会影响服务器部分。即使扩展它也不是很困难。
我支持 AR Diederich 的建议来看看 openfire。您可以使用嵌入式数据库快速设置它,并且可以立即使用。
然后我建议使用 Spark 客户端作为参考实现。您可以打开调试模式(通过属性面板)并生成一个调试器,该调试器显示客户端和服务器之间的完整 xmpp 对话。您甚至可以发送 Adhoc xmpp 消息,因此当您怀疑服务器是否配置错误或消息格式不正确时,这是一种测试它的优雅方法。即使要设置 ejabberd,我也会使用 Spark 客户端。如果可行,它也应该适用于(无错误的)自定义客户端。
使用图形安装程序安装 ejabberd 并不难:http: //www.process-one.net/tutorials/ejabberd_setup_linux_en_viewlet_swf.html
并且您猜测的正常运行时间非常值得您在项目开始时花时间对其进行调整。
如果您真的害怕自己管理服务,甚至可以选择托管它(请参阅 hosts.IM)。