Tigase开发笔记3:Tigase 参数配置说明

发布时间: 5年前 (2020-04-02)浏览: 1070评论: 0

转载: https://blog.csdn.net/hurryjiang/article/details/47974641?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3


sm-plugin说明
参数     说明     参考
jabber:iq:register     注册服务     

message-archive-xep-0136     消息归档     

jabber:iq:auth     简单用户认证     

urn:ietf:params:xml:ns:xmpp-sasl     SASL协商     参考
urn:ietf:params:xml:ns:xmpp-bind     资源绑定     

urn:ietf:params:xml:ns:xmpp-session     session绑定     

jabber:iq:roster     联系人名单管理     

presence     xmpp顶级元素,上线广播     

jabber:iq:privacy     隐身协议     

jabber:iq:version     客户端版本     

http://jabber.org/protocol/stats     是否发送统计信息,指向jabber.org发送     

startls     tls加密     

msgoffline     离线消息     

vcard-temp     临时的vCard     

http://jabber.org/protocol/commands     管理virtual domains的特别命令     参考
jabber:iq:private     私有数据存储     

urn:xmpp:ping     心跳检测     

pep     发布订阅插件     参考
domain-filter(basic-filter)     domain拦截器     参考
amp(basic-filter)     高级消息处理     参考1,参考2
zlib(basic-filter)     zlib压缩     

message-carbons(basic-filter)     将stanzas投递到用户指定的资源     

disco(basic-filter)     服务发现     

标准错误代码
代码     说明
302     

重定向,尽管HTTP规定中包含八种不同代码来表示重定向,Jabber只用了其中一个(用来代替所有的重定向错误)

。不过Jabber代码302是为以后的功能预留的,目前还没有用到。
400     

坏请求,Jabber代码400用来通知Jabber客户端,一个请求因为其糟糕的语法不能被识别

。例如,当一个Jabber客户端发送一个的订阅请求给它自己活发送一条没有包含“to”属性的消息,Jabber代码400就会产生。
401     

未授权的,Jabber代码401用来通知Jabber客户端它们提供的是错误的认证信息,如,在登陆一个Jabber服务器时使用一个错误的密码,或未知的用户名


402     所需的费用,Jabber代码402为未来使用进行保留,目前还不用到。
403     禁止,Jabber代码403被Jabber服务器用来通知Jabber客户端该客户端的请求可以识别,但服务器拒绝执行。目前只用在注册过程中的密码存储失败。
404     

没有找到,Jabber代码404用来表明Jabber服务器找不到任何与JabberID匹配的内容,该JabberID是一个Jabber客户端发送消息的目的地

。如,一个用户打算向一个不存在的JabberID发送一条消息。如果接受者的Jabber服务器无法到达,将发送一个来自500级数的错误代码。
405     

不允许的,Jabber代码405用在不允许操作被’from’地址标识的JabberID

。例如,它可能产生在,一个非管理员用户试图在服务器上发送一条管理员级别的消息,或者一个用户试图发送一台Jabber服务器的时间或版本,

或者发送一个不同的JabberID的vCard。
406     

不被接受的,Jabber代码406用于服务器因为某些理由不接受一个包。例如,这个可能发生在

,一个Jabber客户端试图使用jabber:iq:private在服务器上存储信息,

但当前的用于存储的名字空间用”jabber:”开头(在Jabber里是一个被存的XML开头)。

另一种可能产生406错误的情况是当一个Jabber客户端试图用一个空密码注册到一台Jabber服务器上。
407     必须注册,Jabber代码407当前不被使用
408     

注册超时,当一个Jabber客户端不能在服务器准备好的时间内发起一个请求时,Jabber服务器生成Jabber代码408

。这个代码当前只用于Jabber会话管理器使用的零度认证模式中。
409     冲突
500     

服务器内部错误,当一台Jabber服务器遇到一种预期外的条件,该条件阻止服务器处理来自Jabber客户端的包,这是将用到Jabber代码500

。现在,唯一会引发500错误代码的时间是当一个Jabber客户端试图通过服务器认证,而该认证因为某些原因没有被处理(如无法保存密码)。
501     

不可执行,当服务器不支持Jabber客户端请求的功能,使用Jabber代码501

。例如,该代码只当Jabber客户端发送一个认证请求,而该认证请求不包含服务器配置中定义的任何一种认证方式时,服务器发送Jabber代码501。

这个代码还被用于,当一个Jabber客户端试图注册一个不允许注册的服务器。
502     

远程服务器错误,当因为无法到达远程服务器导致转发一个包失败时,使用Jabber代码502

。该代码发送的特殊例子包括一个远程服务器的连接的失败,无法获取远程服务器的主机名,以及远程服务器错误导致的外部时间过期。
503     

服务无法获得,当一个Jabber客户端请求一个服务,而Jabber服务器通常由于一些临时原因无法提供该服务时,使用Jabber代码503

。例如,一个Jabber客户端试图发送一条消息给另一个用户,该用户不在线,但它的服务器不提供离线存储服务,

服务器将返回一个503错误代码给发送消息的JabberID。当为vcard-temp和jabber:iq:private名字空间设置信息时,

出现通过xdb进行数据存储的写入错误,也使用该代码。
504     远程服务器超时,Jabber代码504用于下列情况:试图连接一台服务器发生超时,错误的服务器名。
510     连接失败,Jabber代码510目前还没有使用。

扩展code(XMPPErrorCodeExtension枚举),如果大家定义了,请加在此处。 ERROR_TH(4031, "cancel", "登陆过于频繁或者流量过大")

MUC相关技术

    XEP-0004: 数据表单,用来交换数据。

CS和SM分离

    tigase中是可行的,但是目前架构没有这样做。这样做会增加网络开销,目前此方案,不是很好,待尝试。

使用到得XEP

    XEP-0184: Message Delivery Receipts,该扩展对server没有任何要求,只要client端支持就行。
    XEP-0004:表单数据,用来交换数据,form类型[http://xmpp.org/registrar/formtypes.html]
    XEP-0198:server端的消息确认,tigase中的配置,它的存在的意义在http://op-co.de/blog/posts/XEP-0198中已经描述的非常详细。
    XEP-199
    XEP-0114:Jabber组件协议

群聊室的属性

我们设计的群已经不是标准的xmpp群了,下面的属性是对于smack或者标准的xmpp群有意义的。

    房间名称|muc#roomconfig_roomname
    描述|muc#roomconfig_roomdesc
    允许占有者更改主题|muc#roomconfig_changesubject
    最大房间占有者人数|muc#roomconfig_maxusers
    其 Presence 是 Broadcast 的角色|muc#roomconfig_presencebroadcast
    列出目录中的房间|muc#roomconfig_publicroom
    房间是持久的|muc#roomconfig_persistentroom
    房间是适度的|muc#roomconfig_moderatedroom
    房间仅对成员开放|muc#roomconfig_membersonly
    允许占有者邀请其他人|muc#roomconfig_allowinvites
    需要密码才能进入房间|muc#roomconfig_passwordprotectedroom
    密码|muc#roomconfig_roomsecret
    能够发现占有者真实 JID 的角色|muc#roomconfig_whois
    登录房间对话|muc#roomconfig_enablelogging
    仅允许注册的昵称登录|x-muc#roomconfig_reservednick
    允许使用者修改昵称|x-muc#roomconfig_canchangenick
    允许用户注册房间|x-muc#roomconfig_registration
    房间管理员|muc#roomconfig_roomadmins
    房间拥有者|muc#roomconfig_roomowners

线上服务器环境配置

tcp调优参考我之前的文章Linux TCP调优


Tigase默认jars包的版本信息(启动的日志文件中可以看到)
Loading component: amp :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.amp.AmpComponent}
Loading component: bosh :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.bosh.BoshConnectionManager}
Loading component: c2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppclient.ClientConnectionManager}
Loading component: http :: componentInfo{Title=Tigase HTTP API component: Tigase HTTP API component, Version=1.1.0-b83/d51e1db6, Class=tigase.http.HttpMessageReceiver}
Loading component: message-archive :: componentInfo{Title=Tigase Message Archiving Component, Version=1.1.0-b71/c4003eb3, Class=tigase.archive.MessageArchiveComponent}
Loading component: monitor :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.monitor.MonitorComponent}
Loading component: muc :: componentInfo{Title=Tigase MUC, Version=2.3.0-b389/879168a9, Class=tigase.muc.MUCComponent}
Loading component: proxy :: componentInfo{Title=Tigase Socks5 Component, Version=1.1.0-b48/f5c8a08c, Class=tigase.socks5.Socks5ProxyComponent}
Loading component: pubsub :: componentInfo{Title=Tigase PubSub, Version=3.1.0-b463/1df4d937, Class=tigase.pubsub.PubSubComponent}
Loading component: s2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppserver.S2SConnectionManager}
Loading plugin: session-close=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: session-open=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: default-handler=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:register=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:auth=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-sasl=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-bind=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-session=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:roster=2:2530 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:privacy=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:version=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: http://jabber.org/protocol/stats=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: starttls=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: vcard-temp=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: http://jabber.org/protocol/commands=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:private=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:xmpp:ping=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: presence=2:2530 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: disco=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: zlib=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: amp=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: message-carbons=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: message-archive-xep-0136=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
MA LOADED = message-archive@10.5.1.12
Loading component: sess-man :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppsession.SessionManager}
Loading component: ws2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.websocket.WebSocketClientConnectionManager}

————————————————
版权声明:本文为CSDN博主「Ai2015WER」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hurryjiang/article/details/47974641

标签:

上一篇: tigase代码框架解读
下一篇: Tigase开发笔记1:深入认识XMPP协议

相关文章暂无相关
评论列表暂无评论
发表评论
验证码

«   2024年4月   »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接
    • RainbowSoft Studio Z-Blog
    • 订阅本站的 RSS 2.0 新闻聚合
    ︿
    Top