Tigase开发笔记3:Tigase 参数配置说明
转载: 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协议