2

XMPP 规范规定客户端应在连接到 XMPP 服务器时广播出席信息。Strophe 有两种“连接”到 XMPP 服务器的方法:连接和附加。Connect 进行完全授权,并且 attach 用于重新连接到预先存在的连接。使用附加时,客户端是否应该向服务器广播存在?

在我的测试中,如果我没有在附加时广播出席信息,客户端不会收到来自其他用户的消息(出席信息、消息或其他),并且如果客户端尝试发送任何节,他会立即被断开连接服务器。就好像服务器不知道用户在没有存在广播的情况下已连接。

这似乎是我回答了自己的问题,但是,我想知道服务器中是否存在错误,或者我做错了什么或者这是预期的行为?

4

1 回答 1

2

某处存在错误-附加实际上是附加-您正在继续原始会话。服务器甚至不知道它发生了!

需要注意的事情 - 如果您的旧代码仍然打开,并且您有多个使用同一个会话的东西,那么您很容易得到像您描述的那样的东西。

如果您仍然卡住,查看一些代码或至少查看附加会话的日志可能会很有用(例如与服务器断开连接 - 它给出了什么错误等?)。

于 2012-05-19T11:18:55.407 回答