Proxy 插座5连接超时(GCDAsyncSocket)。(OpenFire、XEP-0065和iOS XMPPFramework)

Proxy 插座5连接超时(GCDAsyncSocket)。(OpenFire、XEP-0065和iOS XMPPFramework),proxy,xmpp,openfire,socks,gcdasyncsocket,Proxy,Xmpp,Openfire,Socks,Gcdasyncsocket,问题:我正在尝试使用iOS XMPPFramework和OpenFire服务器制作TURNSocket(XEP-0065-SOCKS5)。我希望能够发送和接收文件。但是,在大多数情况下,接收器不返回响应。我目前怀疑问题与OpenFire代理服务器有关,它超时了!这是在本地网络上设置的,我已经编辑了hosts文件以指向它 注意:我的代码基础来自以下教程: XML和错误:发送方发送以下XML(在其他几篇XEP-0065 XML文章前后发送之后) 如果我与我的应用程序的另一个实例聊天,则在尝试使用

问题:我正在尝试使用iOS XMPPFramework和OpenFire服务器制作TURNSocket(XEP-0065-SOCKS5)。我希望能够发送和接收文件。但是,在大多数情况下,接收器不返回响应。我目前怀疑问题与OpenFire代理服务器有关,它超时了!这是在本地网络上设置的,我已经编辑了hosts文件以指向它

注意:我的代码基础来自以下教程:

XML和错误:发送方发送以下XML(在其他几篇XEP-0065 XML文章前后发送之后)


如果我与我的应用程序的另一个实例聊天,则在尝试使用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>


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

我注意到我发送的XML中的sid和id是相同的!但是,如果我创建一个新的sid,它似乎无法解决问题。这与问题有关吗?我也有同样的问题。。!在一个特定的时间间隔后,获取失败错误。你解决问题了吗?还没有。如果你找到答案,请告诉我,有一只亮绿色的大扁虱在等着你!您可以发布代码来检索特定JID的资源路径吗?我尝试了jid.resource,但它是空的。如果它为空,您可能没有资源。尝试[jid full]查看完整的jid。如果最后没有资源,就没有资源。请记住,如果您使用的是我正在使用的同一教程中的代码,那么它将使用硬编码的jid,而没有任何资源。您可能需要更改代码,使其使用您在开始聊天时单击的“朋友”的jid。我已在我的一台本地网络计算机上安装了open fire。那么,xmpp.proxy.externalip这个属性的值应该是多少。你能详细说明一下吗?在我的例子中,我已经输入了服务器的ip地址,但是在互联网上做了一个快速搜索,人们说你应该把外部客户端可以访问服务器的地址放在这里,比如proxy.chat.somedomain.comBut,正如我说的,我已经在本地网络的一台机器上安装了它,所以我如何才能获得itI的公共访问IP我不确定我对这方面没有经验。如果你觉得我的堆栈溢出问题不能解决你的问题,你需要搜索一个能解决问题的问题,或者开始一个新问题。'xmpp.proxy.externalip哪个IP??当我在该服务器中使用1台服务器openfire安装时,现在希望将2 1个android和1个ios用户与该服务器中的xmpp连接,然后发送图像,但消息为service unavailbe type 503 Occess
<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>