首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在eJabberd中删除XMPP消息

在eJabberd中删除XMPP消息
EN

Stack Overflow用户
提问于 2014-07-28 10:08:32
回答 1查看 546关注 0票数 2

我试图在eJabberd中过滤消息。我得到带有类型服务的消息,处理它,然后删除它。

我的方法是:我只是将返回数据包设置为<query xmlns="urn:xmpp:receipts"><query>。有更好的方法丢包吗?

代码语言:javascript
运行
复制
on_filter_packet({From, To, XML} = Packet) ->
    ?INFO_MSG("on_beanstalkd ~p~n", [Packet]),
    Type = xml:get_tag_attr_s(<<"type">>, XML),
    DataTag = xml:get_subtag(XML, <<"data">>), 

    case Type =:= <<"service">> of
    true -> 
        JSON = xml:get_tag_cdata(xml:get_subtag(XML, <<"body">>)),
        {inserted, ID} = beanstalk:put(BeanstalkdPid, JSON),
        Return = #xmlel{name = <<"query">>, attrs = [{<<"xmlns">>, <<"urn:xmpp:receipts">>}]};
    false ->
        Return = Packet
    end,   
    Return.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 10:11:30

您只需返回原子drop,ejabberd就会丢弃数据包。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24992933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档