SOCKS5连接超时(GCDAsyncSocket)。 (Openfire的,XEP-0065和

2019-06-23 22:11发布

问题 :我在尝试TURNSocket -使用iOS的XMPPFramework和Openfire的服务器(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聊天客户端之间的聊天,我没有得到任何回应。 但是,如果我聊到火花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>

Answer 1:

在Openfire的,我需要设置使用“xmpp.proxy.externalip”的系统属性代理服务器的IP地址。



文章来源: SOCKS5 connection times out (GCDAsyncSocket). (OpenFire, XEP-0065 and iOS XMPPFramework)