Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java如何指定程序应该从中连接的正确IP地址_Java_Sockets_Networking_Ip - Fatal编程技术网

java如何指定程序应该从中连接的正确IP地址

java如何指定程序应该从中连接的正确IP地址,java,sockets,networking,ip,Java,Sockets,Networking,Ip,我有一个连接到远程主机的java程序(swing)。这个程序在我的Windows7上运行得很好。但是,在我安装VirtualBox之后,它无法连接到远程机箱;在调查中,我们发现它开始将自己“绑定”到VirtualBox IP地址,而不是之前的“无线LAN适配器无线网络连接” 我写了一个测试程序,它连接到同一个远程主机,这个程序运行良好,尽管虚拟盒 public static void main(String[] args) throws UnknownHostException, IOExcep

我有一个连接到远程主机的java程序(swing)。这个程序在我的Windows7上运行得很好。但是,在我安装VirtualBox之后,它无法连接到远程机箱;在调查中,我们发现它开始将自己“绑定”到VirtualBox IP地址,而不是之前的“无线LAN适配器无线网络连接”

我写了一个测试程序,它连接到同一个远程主机,这个程序运行良好,尽管虚拟盒

public static void main(String[] args) throws UnknownHostException, IOException {
    Socket testSock = new Socket("10.86.149.206", 7547);
    System.out.println("connected!");
}
问题:我如何告诉JavaSwing程序应该使用哪个IP作为源IP地址

不管它值多少钱,我们都使用JDK1.6

更新
最后,为了让Java Swing程序连接到远程主机,我不得不卸载VirtualBox:-(

更新2
我想知道是否可以指定一个系统属性,以便java程序知道该做什么

更新3

如果有人想知道,我无法访问swing程序的源代码。如果可能的话,我想从外部规范它的行为。**

套接字构造函数支持四参数版本,您可以在其中指定本地地址和端口。有关详细信息,请参阅。

这似乎基本上是同一个问题:

如果你想使用特定的本地IP地址连接到服务器,你应该调用bind方法并作为参数传递这个地址。

那么问题解决了吗?是和否。我可以让swing程序连接到远程主机,但只能通过卸载virtualbox。我想保留virtualbox并仍然运行java程序。我很好奇如果我可以指定一个系统属性,这样java程序就知道该做什么了。我没有访问代码的权限。另外,我相信swing程序使用http客户端库与远程主机进行通信。你有什么想法吗?