我正在使用qxmpp库编写一个小型xmpp服务器。现在我想自己做消息的路由:如果我理解服务器的实现是正确的,服务器会将“to”属性中带有裸JID(contact @ myxmpp)的消息转发给这个裸JID的所有连接资源。 我想创建一个负责优先级的实现,并仅将消息发送到“最可用”资源。
使用QXmppServer实现此目的的唯一方法似乎是将to字段更改为完整的JID,但RFC在这种情况下禁止这样做。 (RFC 6121,8.5.2.1.1最后一段:“在所有情况下,服务器都不得重写'to'属性。”
有没有我没看到的技巧,或者用当前版本0.8.0实现这个目的是不可能的,我必须打开一个问题/为qxmpp创建一个补丁?