2010-10-14 61 views
0

我試圖通過SOCKS服務器在Android客戶端應用程序連接到服務器(Android操作系統1.5和1.6)與以下代碼段:機器人,爲插座的異常(SOCKS)

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(Constants.SOCKS_PROXY_HOST, Constants.SOCKS_PROXY_PORT)); 
    socket = new Socket(proxy); 
    InetSocketAddress dest = new InetSocketAddress(targetHost,targetPort); 
    socket.connect(dest); 

然而,它給出了在最後一行的例外:

W/System.err( 507): java.net.SocketException: SOCKS connection failed: java.net.SocketException: Bad socket 
W/System.err( 507): at org.apache.harmony.luni.net.PlainSocketImpl.socksConnect(PlainSocketImpl.java:389) 
W/System.err( 507): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:224) 
W/System.err( 507): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:521) 
W/System.err( 507): at java.net.Socket.connect(Socket.java:1019) 
W/System.err( 507): at java.net.Socket.connect(Socket.java:960) 

任何人都可能有一個想法,我在哪裏做錯了? 在此先感謝。

回答

0

它花了一段時間,但終於找到了解決方案。看起來,在幾個Android設備上實現java.net SOCKS實現有點問題,即使兩款手機的Android操作系統版本相同(在具有不同版本的多款手機上都經過測試)。無論如何,我必須在我的項目中使用另一個替代襪子庫:JSocks(http://jsocks.sourceforge.net/)

到目前爲止,它在我測試過的幾個設備上至今仍然很有魅力。

+0

你能告訴我如何在我的應用程序中使用襪子? – Noman 2013-06-03 09:33:50