标签: ejabberd

如何在XMPP中阻止匿名用户

为了在我的应用程序中实现聊天功能,我已将XMPP框架集成到其中.没有好友请求功能,因此用户可以在不发送好友请求的情况下向其他用户发送消息.由于此功能,我没有在应用程序中创建任何名单或隐私列表,并且已实施匿名聊天模式.

一切正常,除了阻止用户功能,因为这是匿名用户聊天,因此没有用户的隐私列表,XMPP扩展XEP-016仅支持通过隐私列表阻止.

我也试图寻找替代方案,其中一个是实现XEP-0191,但遗憾的是Open Fire不支持此扩展.

所以技术人员请指导我解决这个问题.以下是我的问题.

  1. 我是否需要创建隐私列表/名单以在匿名用户聊天模式下阻止用户.此解决方案看起来不切实际,因为我的应用可能有数千名用户.

  2. 我应该将Jabber服务器从开放式火灾改为EJabber吗?Ejabber是否支持XEP-0191

除了以上之外,请告诉我们您是否知道在Jabber中以匿名用户聊天模式阻止/取消阻止用户的任何其他解决方法.

chat xmpp openfire ejabberd ios

7
推荐指数
1
解决办法
2080
查看次数

ejabberd钩子的文档?

Hooks似乎非常方便扩展ejabberd的功能.

制造商提到了一堆ejabberd挂钩,但除了少数之外,很难理解哪一个会被使用.

任何人都可以从他们的经验中分享一些细节来解释特定钩子的作用吗?

erlang hook xmpp ejabberd

7
推荐指数
1
解决办法
1071
查看次数

这在ets和mnesia中更有效

ets:select vs mnesia:select哪个更好用.并且在插入和删除的情况下我们应该使用这两个中的一个.我正在研究ejabberd.Any指针?

erlang mnesia ejabberd ets

7
推荐指数
1
解决办法
3097
查看次数

ejabberd:运行安装后脚本时出错

我正在尝试ejabberd在我的电脑上安装,但我一直收到此错误:

Error running Post Install Script
The installation may not have completed correctly
Run Code Online (Sandbox Code Playgroud)

xmpp ejabberd

7
推荐指数
1
解决办法
1417
查看次数

如何获得XEP-0136中的优先权:消息存档?

我的消息存档很好,消息很容易在数据库中保存但由于某种原因我想获取xep-0136的首选项集.

正如在xep-0136扩展中所述,我们需要发送这个IQ

<iq type="get" id="pref1">
    <pref xmlns="urn:xmpp:archive">
    </pref>
</iq>
Run Code Online (Sandbox Code Playgroud)

但在发送这个时,我收到错误,因为服务不可用,但我不知道这怎么可能?因为邮件存档工作正常.我需要实现一些其他模块.

错误iq

<iq
    xmlns="jabber:client"
    from="ramu_gmail.com@##.##.##.##"
    to="ramu_gmail.com@##.##.##.##/42117879931439208568472324"
    type="error"
    id="pref1">
    <pref xmlns="urn:xmpp:archive"></pref>
    <error code="503" type="cancel">
        <service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></service-unavailable>
    </error>
</iq>
Run Code Online (Sandbox Code Playgroud)

伙计们请建议.谢谢.

xmpp ejabberd xmppframework

7
推荐指数
0
解决办法
406
查看次数

使用XMPP创建组时出现"XMPPException $ XMPPErrorException:XMPPError:service-unavailable - cancel"(4.1.3)

我在使用XMPP(4.1.3)创建聊天组时遇到问题.

我的代码是

       try{

            // Get the MultiUserChatManager
            MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(ClosrrService.xmppConnection);

            Log.e("Connection  : ", ClosrrService.xmppConnection.toString());

            // Get a MultiUserChat using MultiUserChatManager
            MultiUserChat muc = manager.getMultiUserChat("dayaroom@conference."+Constants.HOST);

            // Create the room and send an empty configuration form to make this an instant room
            muc.create("testbotdaya");

            muc.sendConfigurationForm(new Form(DataForm.Type.submit));


        }catch (Exception e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

在上面的代码我得到例外muc.create("testbotdaya");,异常是

org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: service-unavailable - cancel
 W/System.err? at org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:232)
 W/System.err? at org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:311)
 W/System.err? at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:400)
 at org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:376)
 W/System.err? at org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:354)
 W/System.err? at com.rappier.closrr.chat.grpupchat.CreateGroupActivity.createGroup(CreateGroupActivity.java:82)
 W/System.err? at com.rappier.closrr.chat.grpupchat.CreateGroupActivity.onClick(CreateGroupActivity.java:64)
Run Code Online (Sandbox Code Playgroud)

请帮我.提前感谢.

android xmpp ejabberd asmack

7
推荐指数
1
解决办法
857
查看次数

strophe.js http-bind错误504

以下请求经常超时:

<body rid='57993057' xmlns='http://jabber.org/protocol/httpbind' sid='1db840cbfd20e3922f594cc2017421a1858cca7a'><a xmlns='urn:xmpp:sm:3' h='9'/></body>
Run Code Online (Sandbox Code Playgroud)

控制台日志显示:

请求的资源上不存在"Access-Control-Allow-Origin"标头.

我正在使用带有haproxy的ejabberd服务器.

ejabberd haproxy strophe

7
推荐指数
0
解决办法
138
查看次数

pyxmpp:创建muc客户端的快速教程?

我正在尝试为我们的ejabberd集群编写一个快速的负载测试脚本,只需登录聊天室,发布几条随机消息,然后退出.

我们曾尝试使用tsung进行这一特定测试,但据作者称,muc功能并没有进入这个版本.

pyxmpp似乎有这个功能,但如果我能弄清楚如何使它工作,我会变得愚蠢.这里希望有人能快速解释如何构建客户端并加入/发布到muc.

谢谢!

python xmpp ejabberd multiuserchat

6
推荐指数
1
解决办法
3196
查看次数

如何在ejabbered/XMPP中获得发送/接收消息的确认?

如何知道该消息是使用XMPP framework和传递给其他用户ejabberd,我们使用XEP-0184类消息传递收据,我们发送收据请求,同时发送消息,但没有得到任何响应.

我的查询应该是我需要在服务器上配置任何内容(或ejabberd.cfg文件中的任何更改),或者我们需要做的任何客户端代码.

xmpp ejabberd

6
推荐指数
2
解决办法
5281
查看次数

ejabberd - http:// localhost:5280重定向到www.localhost.com:5280

我正在学习xmpp编程,我在我的ubuntu 15.10上安装了ejabberd sudo apt-get install ejabberd,然后通过添加管理员用户配置了安装ejabberdctl register admin localhost password.但每当我尝试localhost:5280 从我的firefox浏览器访问时,它会重定向到我www.localhost.com:5280说的那个server not found.另一方面,Chrome浏览器说ERR_EMPTY_RESPONSE- 无法加载网页,因为服务器没有发送任何数据.

我试过localhost:5269,它返回:

<?xml version='1.0'?>
<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:server' xmlns:db='jabber:server:dialback' id='923657800'>
<stream:error><xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'>
</xml-not-well-formed></stream:error></stream:stream>
Run Code Online (Sandbox Code Playgroud)

我有什么问题/etc/ejabberd/ejabberd.yml吗?我也应该发布吗?

请帮忙.谢谢.

编辑:添加了ejabberd.yml

###
###               ejabberd configuration file
###
###

### The parameters used in this configuration file are explained in more detail
### in the ejabberd Installation and Operation Guide.
### Please consult the Guide in case of doubts, it …
Run Code Online (Sandbox Code Playgroud)

xmpp localhost ejabberd

6
推荐指数
1
解决办法
3942
查看次数