2010-06-05 25 views
0

我现在正在使用ejabberd作为聊天服务器。 我正在写一个客户聊天并注册新用户。 现在,我认识的一些协议注册一个新帐号, 如发送下面的命令来注册新用户:如何了解更多XMPP/Jabber命令

<iq type="set"><query xmlns="jabber:iq:register"><username>wfwfewegwegwewefg</username><password>wfwefwefwefwef</password></query></iq> 

我的问题是: 我想学习更多的命令/协议交谈服务器。 那么我可以在哪里学到更多? 例如,如何向服务器询问用户名是否存在。 如何让服务器取消注册用户。

我应该搜索什么关键词? 我应该寻找Jabber XMPP协议还是什么?

回答

1

如果您从管理员帐户发送查询来执行这些操作,请参阅XEP-0133: Service Administration,该文档基于XEP-0050: Ad-hoc commands

如果你指的是从普通用户的角度更多,以及您通常无法看到,如果一个用户帐户存在(这将敞开大门,欢迎垃圾邮件发送者使用它的目录收获),但你可以注销的如果你拥有它,请参阅XEP-0077: In-band Registration了解更多信息。

http://xmpp.org/extensions/还有很多标准扩展适用于各种各样的东西 - 有些正在开发中,有些正在定型和稳定。

1

如果您使用ejabberd,有命令行实用程序ejabberdctl将解决您的问题。

[email protected]:~$ sudo /opt/ejabberd-2.1.8/bin/ejabberdctl 
Usage: ejabberdctl [--node nodename] [--auth user host password] command [options] 

Available commands in this ejabberd node: 
    backup file               Store the database to backup file 
    connected_users              List all established sessions 
    connected_users_number            Get the number of established sessions 
    delete_expired_messages            Delete expired offline messages from database 
    delete_old_messages days           Delete offline messages older than DAYS 
    dump file               Dump the database to text file 
    dump_table file table            Dump a table to text file 
    export_piefxis dir             Export data of all users in the server to PIEFXIS 
                     files (XEP-0227) 
    export_piefxis_host dir host          Export data of users in a host to PIEFXIS files 
                     (XEP-0227) 
    get_loglevel              Get the current loglevel 
    help [--tags [tag] | com?*]           Show help (try: ejabberdctl help help) 
    import_dir file              Import users data from jabberd14 spool dir 
    import_file file             Import user data from jabberd14 spool file 
    import_piefxis file             Import users data from a PIEFXIS file (XEP-0227) 
    incoming_s2s_number             Number of incoming s2s connections on the node 
    install_fallback file            Install the database from a fallback file 
    load file               Restore the database from text file 
    mnesia [info]              show information of Mnesia system 
    mnesia_change_nodename oldnodename newnodename oldbackup newbackup Change the erlang node name in a backup file 
    outgoing_s2s_number             Number of outgoing s2s connections on the node 
    register user host password           Register a user 
    registered_users host            List all registered users in HOST 
    rename_default_nodeplugin           Update PubSub table from old ejabberd trunk SVN to 
                     2.1.0 
    reopen_log               Reopen the log files 
    restart                Restart ejabberd 
    restore file              Restore the database from backup file 
    set_master nodename             Set master node of the clustered Mnesia tables 
    status                Get ejabberd status 
    stop                Stop ejabberd 
    stop_kindly delay announcement          Inform users and rooms, wait, and stop the server 
    unregister user host            Unregister a user 
    update module              Update the given module, or use the keyword: all 
    update_list               List modified modules that can be updated 
    user_resources user host           List user's connected resources 

Examples: 
    ejabberdctl restart 
    ejabberdctl --node [email protected] restart 

Commands to start an ejabberd node: 
    start Start an ejabberd node in server mode 
    debug Attach an interactive Erlang shell to a running ejabberd node 
    live Start an ejabberd node in live (interactive) mode