标签: ejabberd-module

如何配置ejabberd 18 xmpp服务器或将其连接到App服务器以进行推送通知(XEP-0060 XEP-0357)?

我使用ejabberd 18作为xmpp服务器,要使用实现mod_push的推送通知,我们需要将ejabberd服务器连接到扩展ejabberd 18的App服务器,是否有可用的插件或扩展?其他任何启用推送通知的方式。

如果我错了,请纠正我。

chat xmpp ejabberd push-notification ejabberd-module

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

如何解决函数调用之间的竞争条件

我使用erlang的Message传递构造构建了一个多玩家游戏(确切地说,4个玩家).我在以下链接上跟随tictactoe游戏作为示例,但真正相似的是Message传递构造,如游戏中所示:link

然后我选择在ejabberd多用户聊天室上运行这个游戏,我确实为此写了一个ejabberd钩子.但是如果你在上面的链接上查看文件tictactoe.erl中的NewGameState,你会发现没有办法在变量中检索它.

所以我使用了mnesia并将每个新生成的游戏状态写入此mnesia表.现在在我的ejabberd钩子里面我调用我的游戏功能(即每次调用一系列模块 - >"gen_server,game_modules,mnesia_modules"执行)并且在游戏函数调用下面的钩子里面我正在从mnesia表中读取gamestate如下(这里函数myMessage是ejabberd钩子里面的函数):

myMessage({#message = Msg, C2SState})->
    some_other_module:game_func(Args),
    State=mnesia_module:read(key),

    {Msg, C2SState};
myMessage(Acc) ->
    Acc.
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,执行顺序时,read操作给我一个空表

some_other_module:game_func(Args),
 GameState=mnesia_module:read(key),
Run Code Online (Sandbox Code Playgroud)

当我在这两行之间插入延迟时timer:sleep/1,如下所示(在使用不同值进行一些试验后,随机选择值200):

some_other_module:game_func(Args),
timer:sleep(200)
 GameState=mnesia_module:read(key),
Run Code Online (Sandbox Code Playgroud)

我得到GameState的正确值,因此建议我在线阅读操作

GameState=mnesia_module:read(key),
Run Code Online (Sandbox Code Playgroud)

在行之前执行/执行some_other_module:game_func(Args)(这是一系列模块 - >"gen_server,game_modules,mnesia_modules")能够执行mnesia模块并将GameState写入mnesia表.

我怎么能解决这个问题,因为我不想使用,timer:sleep/1因为它不是可靠的解决方案.

任何人都可以建议我在这里工作.我的意思是任何人都可以建议我通过除mnesia以外的任何其他方式检索钩子内的GameState,所以我根本没有竞争条件.

或者是否有某种方式ejabberd提供了一些我可以在这里使用的功能?

提前致谢.

erlang ejabberd erlang-shell ejabberd-module ejabberd-hooks

4
推荐指数
1
解决办法
155
查看次数

如何在ejabberd中阻止特定的jabber_id给某个人?

嗨,我已经在我的服务器中安装了ejabberd 16.04.43,并按照我的需要运行它.

现在我有了新的要求阻止特定用户的特定用户

让我考虑一下用户:

kandan
cash
mani
kumar
lokesh
Run Code Online (Sandbox Code Playgroud)

它们中的每一个在ejabberd中都有一个特定的jabber id,它们通过使用该命令相互交互

add rosteritem
Run Code Online (Sandbox Code Playgroud)

现在我需要的是,

 **kandan blocks cash** such that any further message from kandan to cash or from cash to kandan should not deliver each other , so can anyone tell me how to implement?
Run Code Online (Sandbox Code Playgroud)

我用mod_block安装,但我没有在附近回答我的预期.. !!!

ejabberd ejabberd-module

2
推荐指数
1
解决办法
647
查看次数

如何从ejabberd / xmpp获取最新的房间主题?

我更改了聊天室的“主题”,但没有获得最新主题名称。我正在使用“ disco#info”来获取房间信息。作为响应,我得到的是在创建房间时最初设置的房间标题,但不是最新的房间主题。如何获得最新的房间主题?

xmpp ejabberd xmppframework ejabberd-module ejabberd-api

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