ServerSocket a travers un routeur (freebox)

ServerSocket a travers un routeur (freebox) - Java - Programmation

Marsh Posté le 10-09-2006 à 14:15:40    

Bonjour tout le monde.
Je suis en train de dev une petite application(d'aucune utlité mais c'est pour essayer )en java  qui me permet d'envoyer un chaine de caractere a un serveur.J'ai donc crée un programme client et un programme serveur.Quand un copain a moi heberge le serveur (il ne passe pas par un routeur),et que je lance mon client tout marche nikel.Le probleme est quand c'est moi qui heberge le serveur,je suis derriere un routeur (freebox) et donc quand mon copain essaye le client rien ne marche,la connection ne s'etablie pas (erreur : Exception in thread "main" java.net.ConnectException: Connection timed out: connect ), je pense que le probleme vient que je suis derriere la freebox.Alors ma question est comment modifier mon prog pour que cela marche ??? ou comment configurer la freebox?? Merci de vos reponses  :D  
 
Voici mon code ci-cela peut aider:
 
Le serveur:  

Code :
  1. import java.io.*;
  2. import java.net.*;
  3. public class Serveur {
  4.    static final int port = 8080;
  5.    public static void main(String[] args) throws Exception {
  6.         ServerSocket s = new ServerSocket(port);
  7.         Socket soc = s.accept();
  8.      
  9.         BufferedReader plec = new BufferedReader(
  10.                                new InputStreamReader(soc.getInputStream())
  11.                               );
  12.         PrintWriter pred = new PrintWriter(
  13.                              new BufferedWriter(
  14.                                 new OutputStreamWriter(soc.getOutputStream())),
  15.                              true);
  16.                            
  17.         while (true) {
  18.            String str = plec.readLine();         
  19.            if (str.equals("END" )) break;
  20.            System.out.println("ECHO = " + str);
  21.            pred.println(str);                   
  22.         }
  23.         plec.close();
  24.         pred.close();
  25.         soc.close();
  26.    }
  27. }


 
 
 
Et le client  

Code :
  1. import java.io.*;
  2. import java.net.*;
  3. public class Client {
  4.    static final int port = 8080;
  5.    public static void main(String[] args) throws Exception {
  6.         Socket socket = new Socket(args[0], port);
  7.         System.out.println("SOCKET = " + socket);
  8.         BufferedReader plec = new BufferedReader(
  9.                                new InputStreamReader(socket.getInputStream())
  10.                                );
  11.         PrintWriter pred = new PrintWriter(
  12.                              new BufferedWriter(
  13.                                 new OutputStreamWriter(socket.getOutputStream())),
  14.                              true);
  15.         String str =" SAlut :)";
  16.         for (int i = 0; i < 10; i++) {
  17.            pred.println(str);         
  18.            str = plec.readLine();   
  19.         }
  20.         System.out.println("END" );
  21.         pred.println("END" ) ;
  22.         plec.close();
  23.         pred.close();
  24.         socket.close();
  25.    }
  26. }


Reply

Marsh Posté le 10-09-2006 à 14:15:40   

Reply

Marsh Posté le 10-09-2006 à 15:01:29    

config. basique du routeur : il faut que tu ailles dans la config de ta freebox et que tu rediriges le port 8080 vers l'IP de ton PC

Reply

Marsh Posté le 11-09-2006 à 20:19:38    

Si mon ip reseau est 192.168.0.1, la config de la freebox est bien ???
 
Redirections de port:
 Port 8080  Protocole tcp  Destination 192.168.0.1  Port 8080
 Port 8080  Protocole udp  Destination 192.168.0.1  Port 8080
 
MErci

Reply

Marsh Posté le 12-09-2006 à 14:42:57    

Euh à prioris, vu qu'un ServerSocket utilise tcp, tu n'as pas besoin de rediriger l'udp vers ton pc


Message édité par pegasus32 le 12-09-2006 à 14:43:06
Reply

Marsh Posté le 13-09-2006 à 09:42:58    

Blackangel a écrit :

Si mon ip reseau est 192.168.0.1, la config de la freebox est bien ???
 
Redirections de port:
 Port 8080  Protocole tcp  Destination 192.168.0.1  Port 8080
 Port 8080  Protocole udp  Destination 192.168.0.1  Port 8080
 
MErci


Ouep, reste à voir avec ton firewall si y'en a un qui tourne sur ton poste.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed