同一台计算机上的多个IP地址,由一个程序,两个NIC启动?

时间:2014-07-03 08:18:46

标签: java windows networking ip nic

我有一个爬虫程序应该运行多个线程,每个线程具有不同的IP地址,同时大约10个线程。

是否可以在运行Windows VII的计算机上为每个线程分配不同的IP地址?使用Java程序?

如果是这样,可以通过使用具有多个NIC的机器来实现吗?

我想在程序级别与这些不同的IP地址进行交互,这是否可行?

2 个答案:

答案 0 :(得分:1)

  • 如果您的程序直接使用Socket,您可以枚举所有网络接口及其IP地址,并使用bind()或四参数Socket构造函数绑定到您喜欢的任何本地IP地址。

  • 如果您正在使用URLConnection,我不知道您可以以任何方式指定本地地址。

  • 我无法代表HttpClient,但它有您可以参考的文档。

  • 如果你正在使用别的东西,这个乏味的猜谜游戏将继续下去,直到你完全向我们倾诉它是什么。

答案 1 :(得分:0)

您可以通过以下方式获取可用的网址:

Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces();

您可以使用他们的InetAddresses将您的线程绑定到特定的nic。