2

問題: iOS XMPPFramework と OpenFire サーバーを使用して TURNSocket (XEP-0065 - SOCKS5) を試みています。ファイルを送受信できるようにしたい。ただし、ほとんどのシナリオでは、受信者は応答を返しません。私は現在、問題がタイムアウトになる OpenFire プロキシ サーバーに関係しているのではないかと考えています。これはローカル ネットワーク上に設定されており、ホスト ファイルを編集してそれを指すようにしました。

:私のコードのベースは、次のチュートリアルからのものです: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 を使用しようとすると、受信者に次のエラーが表示されます。

エラー Domain=GCDAsyncSocketErrorDomain Code=3 「ホストへの接続試行がタイムアウトしました」

私の主な質問は、なぜタイムアウトしたのですか?

追加情報: アプリの 1 つのインスタンスと 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>
4

1 に答える 1

1

OpenFire では、「xmpp.proxy.externalip」のシステム プロパティを使用してプロキシの IP を設定する必要がありました。

于 2012-06-13T10:24:33.170 に答える