/ / java como especificar o endereço IP correto do qual um programa deve se conectar - java, sockets, networking, ip

java como especificar o endereço IP correto que um programa deve conectar - java, sockets, networking, ip

Eu tenho um programa java (swing) que se conecta a umhospedeiro remoto. Este programa estava funcionando muito bem na minha caixa do Windows 7. No entanto, depois de instalar o VirtualBox, ele não conseguiu se conectar à caixa remota; Na investigação, descobrimos que ele começou a "se vincular" ao endereço IP do VirtualBox em vez da "conexão de rede sem fio do adaptador de LAN sem fio", como era anteriormente.

Eu escrevi um programa de teste que se conectava ao mesmo host remoto e esse programa funcionou bem, apesar do Virtual Box.

public static void main(String[] args) throws UnknownHostException, IOException {
Socket testSock = new Socket("10.86.149.206", 7547);
System.out.println("connected!");
}

Pergunta: Como digo ao programa Java Swing qual IP ele deve usar como endereço IP de origem?

pelo que vale a pena, usamos o jdk 1.6

ATUALIZAR :
Eventualmente, tive que desinstalar o VirtualBox para fazer com que o programa Java Swing se conectasse ao host remoto :-(

ATUALIZAÇÃO 2 :
Eu queria saber se eu poderia especificar uma propriedade do sistema para que o programa java soubesse o que fazer.

ATUALIZAÇÃO 3:
caso alguém esteja se perguntando, eu não tenho acesso ao código-fonte do programa de oscilação. Gostaria de regular seu comportamento externamente, se possível. **

Respostas:

2 para resposta № 1

O contratante do soquete suporta uma versão de quatro parâmetros em que você também pode especificar o endereço local e a porta. Vejo java.net.Socket para detalhes.


0 para resposta № 2

Esta parece ser essencialmente a mesma pergunta: É possível especificar qual interface de rede para uma JVM (ou IDE) usar


0 para resposta № 3

Se você deseja usar um endereço IP local específico para conectar-se ao servidor, chame o método bind e, como parâmetro, passe esse endereço.