5

我已向RFC 6122中指定的 XMPP 客户端添加了国际域名支持。在 RFC 中它指出:

尽管 XMPP 应用程序不会通过网络传递 ToASCII 操作的输出(称为“ACE 标签”),但必须可以应用该操作而不会失败到每个国际化标签。

但是,对于我可用于测试的域(运行 Prosody 0.9.4;致力于从其他人那里获得有关 Ejabberd 如何处理此问题的反馈),在 XMPP 节的“to”字段中发送 Unicode 名称会导致他们立即返回XMPP 错误节并终止流。如果我toASCII在发送节之前应用该操作,则连接成功,我可以开始与服务器进行身份验证。

所以发送:

<somestanza to="éxample.net"/>

会导致错误,而:

<somestanza to="xn--xample-9ua.net"/>

工作正常。

像这样发送域的 ASCII 表示(ACE 标签)是否正确?如果是这样,当规范说“XMPP 应用程序不通过网络传输 ToASCII 操作的输出......”时,规范是什么意思?如果不是,我如何确保与行为不端的服务器兼容?

4

0 回答 0