Android,Bad Socket Exception(SOCKS)

时间:2010-10-14 02:15:08

标签: android client-server socks

我尝试通过Android客户端应用程序(Android OS 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)

任何人都可能知道我哪里做错了? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

花了一段时间,但终于找到了解决方案。似乎在几个Android设备上实现java.net SOCKS有点问题,即使两款手机都有相同的Android操作系统版本(在几款具有不同版本的手机上测试过)。无论如何,我必须在我的项目中使用另一个替代袜子库:JSocks(http://jsocks.sourceforge.net/)

到目前为止,到目前为止,它在我测试的几种设备上的效果就像一个魅力。