1

私の質問: XMPPFramework と OpenFire を使用して、iOS で XMPP 経由でファイル転送を行っています。私のコードのベースは、次のチュートリアルからのものです。ターゲットはプロキシをストリームホストとして受け入れているように見えますが、リクエスターが同じことをしようとすると、OpenFire は次のエラーを報告します。なぜ失敗し、どうすれば修正できますか?

OpenFire エラー -

2012.06.12 14:38:40 org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager - Error processing file transfer proxy connection 
java.io.IOException: Only SOCKS5 supported 
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.processConnection(ProxyConnectionManager.java:158) 
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.access$200(ProxyConnectionManager.java:57) 
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager$1$1.run(ProxyConnectionManager.java:127) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662)  

私の OpenFire XMPP 設定 - (ここでプロキシの外部 IP を設定したことに注意してください)

xmpp.auth.anonymous - true
xmpp.client.compression.policy - disabled
xmpp.client.idle - -1
xmpp.client.idle.ping - false
xmpp.domain - beta.myCompany.co.uk
xmpp.enabled - true
xmpp.filetransfer.enabled - true
xmpp.offline.quota - 102400
xmpp.offline.type - bounce
xmpp.proxy.enabled - true
xmpp.proxy.externalip - 10.95.xxx.xxx (this is the ip of my server)
xmpp.proxy.port - 7777
xmpp.proxy.transfer.required - false
xmpp.server.compression.policy - disabled
xmpp.server.dialback.enabled - false
xmpp.server.socket.active - true
xmpp.session.conflict-limit - 0
xmpp.session.conflict.limit - 0
xmpp.socket.ssl.active - true

ログ -

2012-06-12 16:26:20.848 JabberClient[2711:207] RECIEVED IN APP DELEGATE - <iq xmlns="jabber:client" type="result" to="myUsername@beta.myCompany.co.uk/3a62c56a" id="4FC4CE04-DA8E-4CC2-B412-40D1C346F682" from="friendsUsername@beta.myCompany.co.uk/ee69d0fa"><si xmlns="http://jabber.org/protocol/si"><feature xmlns="http://jabber.org/protocol/feature-neg"><x xmlns="jabber:x:data" type="submit"><field var="stream-method"><value>http://jabber.org/protocol/bytestreams</value></field></x></feature></si></iq>
2012-06-12 16:26:20.849 JabberClient[2711:207] Attempting XEP65 connection to friendsUsername@beta.myCompany.co.uk/ee69d0fa
2012-06-12 16:26:20.849 JabberClient[2711:207] TURNSocket DELEGATE STARTING
2012-06-12 16:26:20.851 JabberClient[2711:6103] SENT - <iq type="get" to="beta.myCompany.co.uk" id="C8A201C4-EC3B-49CC-8BF4-9604B872EB19"><query xmlns="http://jabber.org/protocol/disco#items"/></iq>
2012-06-12 16:26:20.856 JabberClient[2711:1e03] RECIEVED IN TURN SOCKET - <iq xmlns="jabber:client" type="result" id="C8A201C4-EC3B-49CC-8BF4-9604B872EB19" from="beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/disco#items"><item jid="pubsub.beta.myCompany.co.uk" name="Publish-Subscribe service"/><item jid="broadcast.beta.myCompany.co.uk" name="Broadcast service"/><item jid="search.beta.myCompany.co.uk" name="User Search"/><item jid="conference.beta.myCompany.co.uk" name="Public Chatrooms"/><item jid="proxy.beta.myCompany.co.uk" name="Socks 5 Bytestreams Proxy"/></query></iq>
2012-06-12 16:26:20.857 JabberClient[2711:1e03] SENT - <iq type="get" to="proxy.beta.myCompany.co.uk" id="92BF3339-987C-4A1E-8657-D8AE666DDC32"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
2012-06-12 16:26:20.857 JabberClient[2711:207] RECIEVED IN APP DELEGATE - <iq xmlns="jabber:client" type="result" id="C8A201C4-EC3B-49CC-8BF4-9604B872EB19" from="beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/disco#items"><item jid="pubsub.beta.myCompany.co.uk" name="Publish-Subscribe service"></item><item jid="broadcast.beta.myCompany.co.uk" name="Broadcast service"></item><item jid="search.beta.myCompany.co.uk" name="User Search"></item><item jid="conference.beta.myCompany.co.uk" name="Public Chatrooms"></item><item jid="proxy.beta.myCompany.co.uk" name="Socks 5 Bytestreams Proxy"></item></query></iq>
2012-06-12 16:26:20.862 JabberClient[2711:6103] RECIEVED IN TURN SOCKET - <iq xmlns="jabber:client" type="result" id="92BF3339-987C-4A1E-8657-D8AE666DDC32" from="proxy.beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="proxy" name="SOCKS5 Bytestreams Service" type="bytestreams"/><feature var="http://jabber.org/protocol/bytestreams"/><feature var="http://jabber.org/protocol/disco#info"/></query></iq>
2012-06-12 16:26:20.863 JabberClient[2711:6103] SENT - <iq type="get" to="proxy.beta.myCompany.co.uk" id="D13DE459-63EA-4CD6-97ED-8565559DF298"><query xmlns="http://jabber.org/protocol/bytestreams"/></iq>
2012-06-12 16:26:20.863 JabberClient[2711:207] RECIEVED IN APP DELEGATE - <iq xmlns="jabber:client" type="result" id="92BF3339-987C-4A1E-8657-D8AE666DDC32" from="proxy.beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="proxy" name="SOCKS5 Bytestreams Service" type="bytestreams"></identity><feature var="http://jabber.org/protocol/bytestreams"></feature><feature var="http://jabber.org/protocol/disco#info"></feature></query></iq>
2012-06-12 16:26:20.874 JabberClient[2711:6103] RECIEVED IN TURNSOCKET - <iq xmlns="jabber:client" type="result" id="D13DE459-63EA-4CD6-97ED-8565559DF298" from="proxy.beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/bytestreams"><streamhost jid="proxy.beta.myCompany.co.uk" host="10.95.xxx.xxx" port="7777"/></query></iq>
2012-06-12 16:26:20.875 JabberClient[2711:6103] SENT - <iq type="set" from="myUsername@beta.myCompany.co.uk/3a62c56a" to="friendsUsername@beta.myCompany.co.uk/ee69d0fa" id="4FC4CE04-DA8E-4CC2-B412-40D1C346F682"><query xmlns="http://jabber.org/protocol/bytestreams" sid="4FC4CE04-DA8E-4CC2-B412-40D1C346F682" mode="tcp"><streamhost xmlns="http://jabber.org/protocol/bytestreams" jid="proxy.beta.myCompany.co.uk" host="10.95.xxx.xxx" port="7777"/></query></iq>
2012-06-12 16:26:20.875 JabberClient[2711:207] RECIEVED IN APP DELEGATE - <iq xmlns="jabber:client" type="result" id="D13DE459-63EA-4CD6-97ED-8565559DF298" from="proxy.beta.myCompany.co.uk" to="myUsername@beta.myCompany.co.uk/3a62c56a"><query xmlns="http://jabber.org/protocol/bytestreams"></query></iq>
2012-06-12 16:26:20.916 JabberClient[2711:1e03] RECIEVED IN TURN SOCKET - <iq xmlns="jabber:client" type="result" to="myUsername@beta.myCompany.co.uk/3a62c56a" id="4FC4CE04-DA8E-4CC2-B412-40D1C346F682" from="friendsUsername@beta.myCompany.co.uk/ee69d0fa"><query xmlns="http://jabber.org/protocol/bytestreams" sid="4FC4CE04-DA8E-4CC2-B412-40D1C346F682"><streamhost-used jid="proxy.beta.myCompany.co.uk"/></query></iq>
2012-06-12 16:26:20.917 JabberClient[2711:1e03] TURNSocket: initiatorConnect: proxy.beta.myCompany.co.uk(10.95.xxx.xxx:7777)
4

1 に答える 1

2

Openfire のソース コードを見てみましょう。オープンソースプロジェクトなので簡単です。:)

ProxyConnectionManager.java:158は、Openfire がストリーム (つまり、SOCKS5 接続) を介して送信される最初のバイトとして「5」を予期していることを示しています。そうでない場合、表示される例外がスローされます。RFC1928 (SOCKS Protocol Version 5) Section 3によると、これは正しいようです。

そのため、iOS の XMPP について深く掘り下げて知識がなければ、iOS の xmppframework 内に正しく実装されていないものがあると推測できます。あなたを正しい方向に向けることができれば幸いです。

于 2012-06-12T19:45:33.693 に答える