package org.shadowsocks;
import java.io.IOException;
import java.net.Socket;
import android.util.Log;
public class InnerSocketBuilder {
private String proxyHost = "127.0.0.1";
private int proxyPort = 1053;
private Socket innerSocket = null;
private boolean isConnected = false;
private final String TAG = "CMWRAP->InnerSocketBuilder";
/**
* 建立经由代理服务器至目标服务器的连接
*
* @param proxyHost
* 代理服务器地址
* @param proxyPort
* 代理服务器端口
* @param target
* 目标服务器
*/
public InnerSocketBuilder(String proxyHost, int proxyPort, String target) {
this.proxyHost = proxyHost;
this.proxyPort = proxyPort;
connect();
}
private void connect() {
// starTime = System.currentTimeMillis();
Log.v(TAG, "建立通道");
try {
innerSocket = new Socket(proxyHost, proxyPort);
innerSocket.setKeepAlive(true);
innerSocket.setSoTimeout(60 * 1000);
isConnected = true;
} catch (IOException e) {
Log.e(TAG, "建立隧道失败:" + e.getLocalizedMessage());
}
}
public Socket getSocket() {
return innerSocket;
}
public boolean isConnected() {
return this.isConnected;
}
}