问题:我正在尝试使用 iOS XMPPFramework 和 OpenFire 服务器的 TURNSocket (XEP-0065 - SOCKS5)。我希望能够发送和接收文件。但是,在大多数情况下,接收方没有返回任何响应。我目前怀疑问题与 OpenFire 代理服务器有关,它超时了!这是在本地网络上设置的,我已经编辑了 hosts 文件以指向它。
注意:我的代码基础来自以下教程:http: //mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/
XML 和错误:发件人发送以下 XML(在来回发送一些其他 XEP-0065 XML 帖子之后)...
<iq type="set"
to="friendsUsername@beta.myCompany.co.uk/spark"
id="DD96A581-BFA3-47BC-A3C0-D26AD48D7442">
<query xmlns="http://jabber.org/protocol/bytestreams"
sid="DD96A581-BFA3-47BC-A3C0-D26AD48D7442"
mode="tcp">
<streamhost xmlns="http://jabber.org/protocol/bytestreams"
jid="proxy.beta.myCompany.co.uk"
host="127.0.1.1"
port="7777"/>
</query>
</iq>
如果我与我的应用程序的另一个实例聊天,我在尝试使用 proxy.beta.myCompany.co.uk 时在收件人中收到以下错误
错误域 = GCDAsyncSocketErrorDomain 代码 = 3“尝试连接到主机超时”
所以我的主要问题是,为什么它会超时?
额外信息:如果我在我的应用程序的一个实例和 Adium IM 聊天客户端之间进行聊天,我没有得到任何回应。但是,如果我与 Spark IM 聊天客户端聊天,我会收到以下响应...
<iq xmlns="jabber:client"
id="9A34F268-9FC9-44F8-9662-4651A9E0B633"
to="myUsername@beta.myCompany.co.uk/d04f6694"
from="friendsUsername@beta.myCompany.co.uk/Spark 2.6.3"
type="error">
<query xmlns="http://jabber.org/protocol/bytestreams"
sid="9A34F268-9FC9-44F8-9662-4651A9E0B633"
mode="tcp">
<streamhost jid="proxy.beta.myCompany.co.uk"
host="127.0.1.1"
port="7777"/>
</query>
<error code="406"
type="MODIFY">
<not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>