Connection server / client en utilisant l'adresse IP externe

Fermé
sghaierbs Messages postés 2 Date d'inscription vendredi 8 février 2013 Statut Membre Dernière intervention 8 février 2013 - 8 févr. 2013 à 21:28
bonjour
Je suis en train de créer un client pour se connecter à un serveur en utilisant son adresse ip externe j'ai utilisé la lib upnp pour la redirection des ports côté serveur, j'ai vérifié les ports à l'aide
[URL="https://www.yougetsignal.com/tools/open-ports/"]https://www.yougetsignal.com/tools/open-ports/[/URL]
le port externe s'ouvre lorsque je lance le serveur :aie: . le serveur et le client sont sur ??deux ordinateurs diffrents mais ils sont connectés au même routeur
le client peut se connecter au serveur en utilisant son adresse locale. mais pas avec l'adresse IP externe :roll:
le pare-feu désactivé sur les deux machines
mais quand je lance le serveur, puis le client j'ai obtenu :
java.net.ConnectException: Connection refused: connect

l'erreur vient du client
le serveur fonctionne bien parce que quand je vérifie le port avec le vérificateur port, il l'obtenir comme une demande de connexion

code du serveur
[code]public class upnp {


public static void main(String[] args) {
String chaine=null;
InternetGatewayDevice dev=null;
ServerSocket Ssocket=null;
Socket Csocket=null;

try{
dev = InternetGatewayDevice.getDevices( 1000 )[ 0 ];

chaine=dev.getExternalIPAddress();
System.out.println(dev.addPortMapping("sbs-server", null, 1020, 1020,"192.168.2.36", 0, "TCP"));
System.out.println(chaine);

}catch(IOException | UPNPResponseException e){System.out.println("erreur");}

try{
Ssocket=new ServerSocket(1020);
}catch(IOException e){
e.printStackTrace();
try{
dev.deletePortMapping(null, 1020, "TCP");
}catch(IOException | UPNPResponseException b){b.printStackTrace();}
}

try{
System.out.println("waiting for client ...");
Csocket=Ssocket.accept();
System.out.println("a client is ready");
}catch(IOException e){e.printStackTrace();
try{
Ssocket.close();
Csocket.close();
}catch(IOException a){a.printStackTrace();}
}

try{
dev.deletePortMapping(null, 1020, "TCP");
}catch(IOException | UPNPResponseException b){b.printStackTrace();}
}
}/code

code du client
[code]public class client {

public static void main(String[] zero) {
Socket socket;
try {
socket = new Socket("41.226.78.85",1020);
System.out.println("connected !");
socket.close();
}catch (UnknownHostException e) {
e.printStackTrace();
}catch (IOException e) {

e.printStackTrace();
}
}
}/code
please help
A voir également: