Android,错误套接字异常 (SOCKS)

Posted

技术标签:

【中文标题】Android,错误套接字异常 (SOCKS)【英文标题】:Android, Bad Socket Exception (SOCKS) 【发布时间】:2010-10-14 02:15:07 【问题描述】:

我尝试使用以下 sn-p 代码通过 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】:

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

到目前为止,它在我测试过的几台设备上都像一个魅力。

【讨论】:

你能告诉我如何在我的应用程序中使用袜子吗?

以上是关于Android,错误套接字异常 (SOCKS)的主要内容,如果未能解决你的问题,请参考以下文章

来自 SOCKS 服务器的 Android Orbot 格式错误的回复

从android下载文件时出现套接字异常

SOCKS和socket有啥关系?

通过 socks 代理的 SSL 套接字 - 客户端 <---> 服务器数据是不是加密?

从 java SOCKS 套接字检测协议

在 Android Studio 中使用套接字的异常