SOCKS5连接超时(GCDAsyncSocket)。 (OpenFire,XEP-0065和iOS XMPPFramework)

时间:2012-04-24 11:32:20

标签: proxy xmpp openfire socks gcdasyncsocket

问题:我正在尝试使用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时收件人会收到以下错误

  

Error Domain = GCDAsyncSocketErrorDomain Code = 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>

1 个答案:

答案 0 :(得分:1)

在OpenFire上,我需要使用'xmpp.proxy.externalip'的系统属性设置代理的ip。