Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2033 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  socket Close ( est - ce normal ? )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

socket Close ( est - ce normal ? )

n°425137
qxn
Posté le 12-06-2003 à 15:08:01  profilanswer
 

en repondant a un post y a pas si longtemps je m'apercois que cette fonction ferme un Buffer et le Buffer ferme la socket egalement mais d'apres moi ca me parait pas tres normal
puisque si je souhaite utiliser la socket apres elle se trouve close donc si kkun pourrai m'eclairer si ce n'est pas normal ba une aide serai bienvenu et une explication de meme si ca s'avere normal ;)
 

Code :
  1. public static int envoieFichier(Socket recep,File fichier)
  2. {
  3.  try
  4.  {
  5.   OutputStream lec = recep.getOutputStream();
  6.    ObjectOutputStream out = new ObjectOutputStream(lec);
  7.    out.writeObject(fichier);
  8.    out.flush();
  9.    out.close();
  10.    lec.close();
  11.   return 1;
  12.  }
  13.  catch (IOException fic)
  14.  {
  15.   System.out.println("Erreur dans envoieFichier :" + fic.getMessage());
  16.   return -1;
  17.  }
  18. }


 

mood
Publicité
Posté le 12-06-2003 à 15:08:01  profilanswer
 

n°426151
qxn
Posté le 13-06-2003 à 10:32:55  profilanswer
 

un chti coup de main serait bienvenu ;)

n°426162
darklord
You're welcome
Posté le 13-06-2003 à 10:37:48  profilanswer
 

réfléchis un peu ;-)
 
Ton objectOutputStream tu le construis avec quoi? à partir d'un outputstream qui est lec
 
lec tu le construit comment? en récupérant l'outputstream de la socket
 
donc qd tu fais un close sur out bin tu fais un close sur le out de ta socket. C'est tout à fait normal.
 
Voir la source de socket et de la méthode getOutputStream
 
:hello:


---------------
Just because you feel good does not make you right
n°426174
qxn
Posté le 13-06-2003 à 10:42:23  profilanswer
 

DarkLord a écrit :

réfléchis un peu ;-)
 
Ton objectOutputStream tu le construis avec quoi? à partir d'un outputstream qui est lec
 
lec tu le construit comment? en récupérant l'outputstream de la socket
 
donc qd tu fais un close sur out bin tu fais un close sur le out de ta socket. C'est tout à fait normal.
 
Voir la source de socket et de la méthode getOutputStream
 
:hello:


 
yep vu comme ca ca parait coherent mais je pensais que avec le getOutputStream je me "rattachais" au flux de sortie de la so ket mais sans pour autant me l'accaparé ( donc ne pas fermer la socket a la fermeture du buffer ) :(
j'ai matter la doc et je ne vois pas quoi utiliser pour avoir un buffer qui prends le flux de sortie de la socket et ne ferme pas la socket avec ;)
 
Tu ne connaitrais pas un methode alternative pour ne pas fermer la socket ? ( pask j'ai en besoin apres ;) )
 
Amicalement qxn

n°426217
phnatomass
Je m'empare de ton esprit !!
Posté le 13-06-2003 à 11:11:20  profilanswer
 

Tout simplement tu n'appelles pas les methodes "close" sur tes stream.
Tu le fais uniquement lorque que tu veux fermer la socket.

n°426235
darklord
You're welcome
Posté le 13-06-2003 à 11:24:20  profilanswer
 

phnatomass a écrit :

Tout simplement tu n'appelles pas les methodes "close" sur tes stream.
Tu le fais uniquement lorque que tu veux fermer la socket.


 
ah ouais :D
 
et tu refais un new Outpustream alors qu'il y en a déjà un d'ouvert? :D
 
-> Plus sérieusement qxn. Si tu as encore besoin de ton stream tu dois garder la référence de ce stream dans ton workflow et fermer le stream à la fin.
 
Au fond pq appelles tu close si tu en as encore besoin de ta socket?


---------------
Just because you feel good does not make you right
n°426308
qxn
Posté le 13-06-2003 à 12:05:34  profilanswer
 

DarkLord a écrit :


 
ah ouais :D
 
et tu refais un new Outpustream alors qu'il y en a déjà un d'ouvert? :D
 
-> Plus sérieusement qxn. Si tu as encore besoin de ton stream tu dois garder la référence de ce stream dans ton workflow et fermer le stream à la fin.
 
Au fond pq appelles tu close si tu en as encore besoin de ta socket?


 
en fait je pensais pas closer la socket ( tu matte je fais pas de recep.close() ) mais bon je pense que je vais definir un buffer qui serait un recep.getOutputStream() et apres je ferai passer ce buffer en parametre a chaque fois et qd j'en ai plus besoin je le ferme et la socket aussi ;)
 
Merci pour tout DarkLord :)

n°426311
darklord
You're welcome
Posté le 13-06-2003 à 12:09:47  profilanswer
 

qxn a écrit :


 
en fait je pensais pas closer la socket ( tu matte je fais pas de recep.close() ) mais bon je pense que je vais definir un buffer qui serait un recep.getOutputStream() et apres je ferai passer ce buffer en parametre a chaque fois et qd j'en ai plus besoin je le ferme et la socket aussi ;)
 
Merci pour tout DarkLord :)


 
bah de rien ;)


---------------
Just because you feel good does not make you right
n°426316
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-06-2003 à 12:14:02  profilanswer
 

Pourquoi dark est aussi aimable :heink:
Ca cache qqchose...
[:neowen]


---------------
J'ai un string dans l'array (Paris Hilton)
n°426320
darklord
You're welcome
Posté le 13-06-2003 à 12:23:18  profilanswer
 

Harkonnen a écrit :

Pourquoi dark est aussi aimable :heink:
Ca cache qqchose...
[:neowen]


 
ta gueule gros laid :o


---------------
Just because you feel good does not make you right

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  socket Close ( est - ce normal ? )

 

Sujets relatifs
[ java ] transfert de fichiers dans un socket[C] socket / file des.
relais brisé (socket)[C] Socket UDP connaitre le port source ???
[C++] Socket UDP - Pb Reception du datagramme[socket] en lecture ou écriture seule
[socket TCP] gestion de la deconnexion d1 client telnetorder by normal et desc sur un lien
Socket et communication client/serveur[C++/Builder] ch. méthode socket, comme linux : bytesAvailable() !URG!
Plus de sujets relatifs à : socket Close ( est - ce normal ? )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR