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

Entrée/Sortie Java Discussion :

Comment garder la connexion ouverte avec socket Java ?


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 1
    Par défaut Comment garder la connexion ouverte avec socket Java ?
    bonjour,
    J'ai écrit un code pour me connecter à un serveur via la classe socket, mais je n'arriver pas à garder la connexion ouverte car à chaque fois j'obtiens un message du serveur qui que la connexion est fermé sans réellement que je la ferme.
    Le code est :
    Socket Sock = new Socket("localhost", 10);
    BufferedReader is = new BufferedReader(new inputStreamReader(Sock.getInputStream()));
    PrintWriter out = new PrintWriter(sock.getOutputStream(), true);

    SVP de l'aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Par défaut
    Bonjour,

    es-tu certain d'avoir un serveur qui écoute sur le port 10 de ta machine ?

    Sébastien

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut
    Hmm, j'ai le même problème... la première fois que j'envoie un message, aucun soucis, la deuxième fois, socket is closed
    Il suffit que je relance le client pour que ça remarche la première fois, donc pas de problème au niveau du serveur....

    Je garde ma Socket en attribut de classe, elle reste donc bien "vivante" tout au long de la vie de mon programme...

    J'enquête ...

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Socket Sock = new Socket("localhost", 10);
    BufferedReader is = new BufferedReader(new inputStreamReader(Sock.getInputStream()));
    PrintWriter out = new PrintWriter(sock.getOutputStream(), true);
    Déjà, à chaque écriture, je fermais le PrintWriter, ce qui a pour effet il me semble de fermer la socket elle-même.

    J'ai déplacé le PrintWriter en attribut de classe, je ne l'ouvre qu'une seule fois à la création de ma Socket, et le ferme qu'à la fin du programme.

    Maintenant OK, ma socket reste bien ouverte, en revanche hormis le tout premier message, rien ne semple plus envoyé (rien n'est reçu en tout cas ... Toujours pareil, pas de problème coté serveur, j'ai juste à relancer le client pour que ça remarche...

Discussions similaires

  1. comment faire une connexion hibernate avec iReport
    Par Dikoudogo dans le forum iReport
    Réponses: 8
    Dernier message: 20/04/2008, 21h22
  2. Comment envoyer un grand tableau avec socket UDP
    Par jhon_milou dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 29/05/2007, 09h36
  3. comment faire la connexion (SQLServer) avec server MSDE(LAN)
    Par BRAHIMI MOUSSA dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 12/01/2006, 13h45
  4. Maintenir une connexion ouverte avec ssh
    Par jean-jacques varvenne dans le forum Réseau
    Réponses: 2
    Dernier message: 23/01/2005, 21h39
  5. comment utiliser de l'OpenGL avec du Java ?
    Par DjiZ dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/01/2004, 15h21

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