IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Problème de connexion à distance pour un chat


Sujet :

Langage Java

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de connexion à distance pour un chat
    Bonsoir, j'ai récemment créé un chat qui fonctionne bien, client et serveur. Le problème est qu'on doit obligatoirement ouvrir les ports sur le routeur pour que le serveur puisse recevoir les données du client (le chat se fait à distance et pas en lan). J'aimerai trouver une solution à ca, un mappage automatique ou autre.
    Merci d'avance.

  2. #2
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut
    tu utilise quel port ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Le port 5000.

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    pour le routeur je crois que les ports sont fermés pour des rasions de sécurité c'est normal, mais essaye d'utiliser un port plus grand tel que 22000, 30000.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, j'essaierai plus tard.
    Et sinon, serait-il possible d'uploader le fichier serveur.java sur un site internet et de l'utiliser pour pouvoir discuter?

  6. #6
    Membre actif Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 225
    Points
    225
    Par défaut
    Je pense qu'il faut un serveur d'application java pour pouvoir utiliser le serveur ainsi.

  7. #7
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par Benj35
    Ok, j'essaierai plus tard.
    Et sinon, serait-il possible d'uploader le fichier serveur.java sur un site internet et de l'utiliser pour pouvoir discuter?

    tu peux faire un pomper coller, dans ton poste, on pourra alors consulter ton code et on verra bien .....

  8. #8
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par mehdiing
    salut,
    pour le routeur je crois que les ports sont fermés pour des rasions de sécurité c'est normal, mais essaye d'utiliser un port plus grand tel que 22000, 30000.
    Les ports jusqu'à 1024 (exclu) sont bloqués si tu n'es pas administrateur. Après, il n'y a pas de problème.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Voici le code serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    import java.io.*;
    import java.net.*;
    import java.util.*;
     
    public class Serveur {
    ArrayList clientOutputStreams;
    public class GestionClient implements Runnable {
    BufferedReader lecture;
    Socket sock;
    public GestionClient(Socket socketClient) {
    try {
    sock = socketClient;
    InputStreamReader isr = new InputStreamReader(sock.getInputStream() );
    lecture = new BufferedReader(isr);
    } catch(Exception ex) {ex.printStackTrace();}
    } // fin du constructeur
     
    public void run() {
    String message;
    try {
    while ((message = lecture.readLine()) !=null) {
    System.out.println("read" + message);
    afficherATous(message);
    } // fin de la boucle while
    }catch(Exception ex) {ex.printStackTrace();}
    } // fin de la méthode run()
    } // fin de la classe interne
     
    public static void main (String[] args) {
    new Serveur().go();
    }
     
    public void go() {
    clientOutputStreams = new ArrayList();
    try {
    ServerSocket serverSock = new ServerSocket(5000);
     
    while(true) {
    Socket socketClient = serverSock.accept();
    PrintWriter ecriture = new PrintWriter(socketClient.getOutputStream());
    clientOutputStreams.add(ecriture);
    Thread t = new Thread(new GestionClient(socketClient));
    t.start();
    System.out.println("connexion établie");
    }
    } catch(Exception ex) {
    ex.printStackTrace();
    }
    } // fin de la méthode go()
     
    public void afficherATous(String message) {
    Iterator it = clientOutputStreams.iterator();
    while(it.hasNext()) {
    try{
    PrintWriter ecriture = (PrintWriter) it.next();
    ecriture.println(message);
    ecriture.flush();
    } catch(Exception ex) {
    ex.printStackTrace();
    }
    } // fin de la boucle while
    } // fin de la méthode afficherATous
    } // fin de la classe
    C'est bizzare, tu dis que jusqu'à 1024 c'est bloqué mais pas après, pourtant même le port 5000 est bloqué.
    Et quel site pourrait héberger mon serveur?

    De plus, quand je compile ce fichier, il me met comme erreur: Serveur.java:41: Warning: [unchecked] unchecked call to add<E> as a member of the raw type java.util.ArrayList
    clientOutputStreams.add<ecriture>;

    Voilà, aidez moi s'il vous plait je suis perdu!
    Dernière modification par Invité ; 03/06/2007 à 19h44.

  10. #10
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par Benj35
    De plus, quand je compile ce fichier, il me met comme erreur: Serveur.java:41: Warning: [unchecked] unchecked call to add<E> as a member of the raw type java.util.ArrayList
    clientOutputStreams.add<ecriture>;

    Voilà, aidez moi s'il vous plait je suis perdu!
    Pour commencé, ton erreur tu la corrige comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ......
    ArrayList clientOutputStreams<PrintWriter>;
    .....
    .....
    clientOutputStreams = new ArrayList<PrintWriter>();
    .....
    si non c'est bon , mais pour la question des port je ne vois vraiment pas ou est ton problème.....! , c'est parce que tu n'arrive pas à ouvrir le port sur le serveur ou quoi ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    Merci, le warning n'apparait plus et j'ai trouvé un site pour héberger mon application. Mais ce site me demande de taper le code pour vérifier qu'il est correct et voici ce qu'il me met :

    HandlerFactory.java:30: cannot find symbol
    symbol : method go()
    location: class HandlerFactory
    new HandlerFactory().go();
    ^
    1 error
    Le site : http://www.myjavaserver.com/signup

  12. #12
    Invité
    Invité(e)
    Par défaut
    Up! J'ai toujours pas trouvé la solution.

Discussions similaires

  1. Problème d'accès à distance pour une application sous JBoss
    Par El Saigneur dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 05/06/2010, 17h22
  2. Problème de connexion à distance
    Par YouuSSeF dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 15/09/2009, 14h59
  3. Réponses: 0
    Dernier message: 21/04/2009, 12h53
  4. problème de connexion à distance
    Par djambaliaba dans le forum Débuter
    Réponses: 1
    Dernier message: 14/07/2008, 21h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo