Proxy ';仅支持插座5';XMPP文件传输出现OpenFire错误

Proxy ';仅支持插座5';XMPP文件传输出现OpenFire错误,proxy,xmpp,openfire,socks,xmppframework,Proxy,Xmpp,Openfire,Socks,Xmppframework,我的问题:我正在使用XMPPFramework和OpenFire在iOS上通过XMPP进行文件传输。我的代码的基础来自以下内容。目标似乎接受代理作为streamhost,但当请求者尝试这样做时,OpenFire报告以下错误。为什么它会失败?我如何修复它 OpenFire错误- 2012.06.12 14:38:40 org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager - Error processing file

我的问题:我正在使用XMPPFramework和OpenFire在iOS上通过XMPP进行文件传输。我的代码的基础来自以下内容。目标似乎接受代理作为streamhost,但当请求者尝试这样做时,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)

日志-

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)
2012-06-12 16:26:20.848 JabberClient[2711:207]收到应用程序内委托-http://jabber.org/protocol/bytestreams
2012-06-12 16:26:20.849 JabberClient[2711:207]正在尝试将XEP65连接到friendsUsername@beta.myCompany.co.uk/ee69d0fa
2012-06-12 16:26:20.849 JabberClient[2711:207]TURNSocket委托开始
2012-06-12 16:26:20.851 JabberClient[2711:6103]已发送-
2012-06-12 16:26:20.856 JabberClient[2711:1e03]依次收到套接字-
2012-06-12 16:26:20.857 JabberClient[2711:1e03]已发送-
2012-06-12 16:26:20.857 JabberClient[2711:207]收到应用程序内委托-
2012-06-12 16:26:20.862 JabberClient[2711:6103]依次收到套接字-
2012-06-12 16:26:20.863 JabberClient[2711:6103]已发送-
2012-06-12 16:26:20.863 JabberClient[2711:207]收到应用程序内委托-
2012-06-12 16:26:20.874 JabberClient[2711:6103]在TURNSOCKET收到
2012-06-12 16:26:20.875 JabberClient[2711:6103]已发送-
2012-06-12 16:26:20.875 JabberClient[2711:207]收到应用程序内委托-
2012-06-12 16:26:20.916 JabberClient[2711:1e03]依次收到套接字-
2012-06-12 16:26:20.917 JabberClient[2711:1e03]TURNSocket:启动器连接:proxy.beta.myCompany.co.uk(10.95.xxx.xxx:7777)

让我们看看Openfire的源代码。这很容易,因为它是一个开源项目。:)

告诉我们Openfire希望通过流(即SOCKS5连接)发送的第一个字节为“5”,否则将抛出您看到的异常。这似乎是正确的根据


因此,如果不深入挖掘,也不了解iOS上的XMPP,我猜在iOS上的xmppframework中有一些不正确的实现。我希望我能为您指出正确的方向。

谢谢。你的建议鼓励我深入研究我的代码,我意识到我没有正确地实现几个方法,因此请求者没有用元素发送必要的XEP-0065响应。现在我成功地连接了XEP-0065,OpenFire中的错误消失了:)。(但是,我还没有弄清楚如何使用连接发送文件:S)。不客气。我只能建议您记录所有XMPP节(openfire audit)并阅读XEP,以便找出文件传输失败的原因。祝你好运。如果有一种方法可以从openfire中阅读这些诗节,那我就错过了(我的同事安装了openfire服务器,而不是我)。你知道怎么看这个吗?我在日志中看不到它们。
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)