java中的套接字/代理问题

时间:2010-09-23 04:27:23

标签: java sockets proxy socks

我有一个套接字连接到代理,然后连接到我指定的远程服务器。但是我希望从代理中删除服务器的多个连接。所以我想为同一个代理创建4个套接字,并从4个套接字连接到远程服务器。

当我这样做时它不起作用,它只连接到代理一次。

这是伪代码:

static Socket[] liveCon = new Socket[300];
// This is the class that assigns a proxy and connects
// it is a temporary thread that connects and ends.
sockClass sockets = new sockClass; 

class main {
    for (int i = 0; i < livecon.length; i++) {
        sockets[i].start(); // Thread ends after it is connected
    }
}

class sockClass{
   main.liveCon[index] = new Socket(proxy);
   main.liveCon[index].connect(ep);
   main.liveCon[index].setPerformancePreferences(1, 2, 0);
   if (main.liveCon[index].isConnected() == true) {
       myOutput = new PrintStream(main.liveCon[index].getOutputStream());
       main.liveCon[index].setKeepAlive(true);
   }
}

2 个答案:

答案 0 :(得分:0)

听起来您没有使用线程,而是尝试按顺序连接到代理。

既然你没有发布问题的样本很难出手。

尝试运行您的程序4次,以查看问题是在您的代码中还是在代理中。

我希望这会有所帮助。

答案 1 :(得分:0)

如果您没有使用线程,除非转到非阻塞I / O,否则无法正确执行此操作。