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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Mon applet est une usine a gaz [optimisation et solution inside]

n°194277
veryfree
Posté le 12-08-2002 à 20:28:39  profilanswer
 

Reprise du message précédent :

DarkLord a écrit a écrit :

 
 
oui synchronisée n'était pas le mot que j'aurai du utiliser. En réalité, si tu as une thread qui lit et qui attends des informations (par exemple une réponse du serveur, ou le serveur attend un commande du client). il faut pas qu'il attende comme un con pendant des heures sinon à terme ca va bouffer des ressources.
 
Solution qd tu crées ta socket tu lui associes un timeout de quelques seconds. Périodiquement tu vas voir que ton instruction read va partir en timeout et ca te permet d'un peu relacher les ressources et éviter le genre de probs que tu as. Je ne dis pas que c'est LA solution, je dis que ca peut etre une bonne piste.
 
bonne chance




 
juste une petite question avant de faire des betises:
 

Citation :

If the timeout expires, a java.io.InterruptedIOException is raised, though the Socket is still valid.


 
si j ai bien compris, si personne ne parle sur le chat la methode qui lit le flux entrant de la socket devrai lever l exception java.io.InterruptedIOException et ca libere les ressources c bien ca? mais la methode ReadLine() associée a ce flux est toujours valables?
 
j ai mis 3000 ms pour le timeout
sinon je fait appel a cette methode qu un fois n est ce pas?
 
 socket = new Socket(host,port);  
  socket.setSoTimeout(3000);
....
public void run(){
 
try{
monFlux.readLine();
}catch(InterruptedIOException ioe){...}catch(IOException ie){...}
 
}
 
c bien comme ca?


Message édité par veryfree le 12-08-2002 à 20:34:36
mood
Publicité
Posté le 12-08-2002 à 20:28:39  profilanswer
 

n°194285
veryfree
Posté le 12-08-2002 à 20:47:35  profilanswer
 

bon ben je recapitule:
 
 
avec un timeout de 3000 c beaucoup trop ca met 3000 ms pour s afficher a chaque fois que je met une phrase mais le probleme principale et que si rien ne se passe au bout de ces 3000 ms , la socket est fermée donc jmy prend mal c sur ...

n°194290
darklord
You're welcome
Posté le 12-08-2002 à 20:58:01  profilanswer
 

bon tu as une socket et la partie émetteur > serveur
 
ton serveur est en écoute sur la socket. Ton receveur n'envoit aucune commande (il est idle quoi). Au bout de 3sec tu as un timeout qui est levé. A ce moment là t'en profite pour dormir 500 msec et puis tu recommences à lire et ainsi de suite. Si pendant les 500msec ou tu dors, l'émetteur envoit des brols, bin c pas grave, c'est bufférisé et dès que tu recommences à lire ton serveur récupère l'info


---------------
Just because you feel good does not make you right
n°194291
darklord
You're welcome
Posté le 12-08-2002 à 20:59:02  profilanswer
 

veryfree a écrit a écrit :

bon ben je recapitule:
 
 
mais le probleme principale et que si rien ne se passe au bout de ces 3000 ms , la socket est fermée donc jmy prend mal c sur ...




 
Bin oui c'est sur tu dois boucler. Un truc du genre
 
while(up) {
   // je lis
   // timeout
   // je dors  
}
 
et tu recommences ;)


---------------
Just because you feel good does not make you right
n°194299
veryfree
Posté le 12-08-2002 à 21:16:21  profilanswer
 

DarkLord a écrit a écrit :

bon tu as une socket et la partie émetteur > serveur
 
ton serveur est en écoute sur la socket. Ton receveur n'envoit aucune commande (il est idle quoi). Au bout de 3sec tu as un timeout qui est levé. A ce moment là t'en profite pour dormir 500 msec et puis tu recommences à lire et ainsi de suite. Si pendant les 500msec ou tu dors, l'émetteur envoit des brols, bin c pas grave, c'est bufférisé et dès que tu recommences à lire ton serveur récupère l'info




voila ma methode run :
 

Code :
  1. public void run()
  2.  {
  3.         String phraseLu = "";   
  4.   try
  5.   {
  6.           do
  7.           {
  8.      phraseLu = in.readLine();
  9.      if(phraseLu.length()!=0)
  10.      {
  11.       if(phraseLu.startsWith("ADD" ))
  12.       mainPanel.addElement(phraseLu.substring(3));
  13.       else if(phraseLu.startsWith("REM" ))
  14.       mainPanel.removeElement(phraseLu.substring(3));
  15.              else if(!phraseLu.equals("" ))
  16.       setText(phraseLu);
  17.      }
  18.     runner.yield();
  19.        }while(phraseLu!=null);
  20.   }
  21.   catch(InterruptedIOException ex)
  22.       {
  23.        System.out.print("InterruptedIOException:"+ex+"\n" );
  24.     
  25.       }
  26.       catch(Exception exception)
  27.       {
  28.     
  29.        setText("03Connexion interrompue\n\n" );
  30.             System.out.print("exception:"+exception+"\n" );
  31.       }
  32. }


 
tu dit que je doit faire dormir mon thread lorsque j ai mon InterruptedIOException ok mais ma socket est fermée lorsque cette exception est levée alors il me faudrait la reinstancié c problematique ca non?
et puis mon thread n a plus de raison d etre si ma socket est close...
sur le site de sun y a ecrit:

Citation :

If the timeout expires, a java.io.InterruptedIOException is raised, though the Socket is still valid.


la mienne n est plus valide alors je comprend pas pq

n°194303
darklord
You're welcome
Posté le 12-08-2002 à 21:25:15  profilanswer
 

mais tu dois boucler. Tu boucles pas là. NE me dis pas que tu as une thread pour lire une ligne qd meme ?


---------------
Just because you feel good does not make you right
n°194307
veryfree
Posté le 12-08-2002 à 21:29:41  profilanswer
 

DarkLord a écrit a écrit :

mais tu dois boucler. Tu boucles pas là. NE me dis pas que tu as une thread pour lire une ligne qd meme ?




 
le do - while c'est une boucle [:titprem]
 
serieusement oui je fait un thread qui lit une ligne , et c'est comme ca qu a fait jfive aussi pour son chat...

n°194308
darklord
You're welcome
Posté le 12-08-2002 à 21:30:56  profilanswer
 

j'avais pas vu ;)
 
bon en fait ton catch doit etre à l'intérieur de ton do while. Comme ca si tu as un timeout c'est catché puis tu recommences à essayer de lire


---------------
Just because you feel good does not make you right
n°194313
darklord
You're welcome
Posté le 12-08-2002 à 21:33:54  profilanswer
 

Code :
  1. public void run(){
  2. String phraseLu = "";   
  3. try {
  4.   do {
  5.    try {
  6.       phraseLu = in.readLine();
  7.       if(phraseLu.length()!=0) {
  8.          if(phraseLu.startsWith("ADD" ))
  9.       mainPanel.addElement(phraseLu.substring(3));
  10.          else if(phraseLu.startsWith("REM" )) 
  11.               mainPanel.removeElement(phraseLu.substring(3));
  12.          else if(!phraseLu.equals("" ))
  13.               setText(phraseLu);
  14.        }
  15.    }
  16.    catch (InterruptedException ie) {}
  17.    runner.yield(); // ou sleep    
  18.    }while(phraseLu!=null);
  19.   } catch(Exception exception) {
  20.         setText("03Connexion interrompue\n\n" );
  21.         System.out.print("exception:"+exception+"\n" );
  22.   }
  23. }


Message édité par darklord le 12-08-2002 à 21:34:34

---------------
Just because you feel good does not make you right
n°194314
veryfree
Posté le 12-08-2002 à 21:34:59  profilanswer
 

DarkLord a écrit a écrit :

j'avais pas vu ;)
 
bon en fait ton catch doit etre à l'intérieur de ton do while. Comme ca si tu as un timeout c'est catché puis tu recommences à essayer de lire




 
c'est a cause de l indentation de merde du forum ;)
 
 
sinon ben je fait ce que tu m a dit  :jap:

mood
Publicité
Posté le 12-08-2002 à 21:34:59  profilanswer
 

n°194316
darklord
You're welcome
Posté le 12-08-2002 à 21:36:20  profilanswer
 

veryfree a écrit a écrit :

 
 
c'est a cause de l indentation de merde du forum ;)
 
 
sinon ben je fait ce que tu m a dit  :jap:  




 
dans le post ton try est en dehords du do while. Il doit etre a l'intérieur comme je le montre dans ma solution. Et le forum n'a pas une identation de merde, c'est le code que tu as pasté qui est bourré de tab  :kaola:


---------------
Just because you feel good does not make you right
n°194319
veryfree
Posté le 12-08-2002 à 21:43:10  profilanswer
 

DarkLord a écrit a écrit :

 
 
dans le post ton try est en dehords du do while. Il doit etre a l'intérieur comme je le montre dans ma solution. Et le forum n'a pas une identation de merde, c'est le code que tu as pasté qui est bourré de tab  :kaola:  




 
ben t indente en faisant des espaces toi??

n°194405
--greg--
Posté le 13-08-2002 à 01:43:40  profilanswer
 

veryfree a écrit a écrit :

 
 
ben t indente en faisant des espaces toi??



ben ouais
sinon le std pour un tab c'est 8espaces. euh ou 4 j'hésite du coup.
argh.

n°194407
Cherrytree
cn=?
Posté le 13-08-2002 à 01:47:16  profilanswer
 

--greg-- a écrit a écrit :

ben ouais
sinon le std pour un tab c'est 8espaces. euh ou 4 j'hésite du coup.
argh.



4. :jap:


---------------
Le site de ma maman
n°194416
gfive
Posté le 13-08-2002 à 07:57:24  profilanswer
 

Bah, ce qui m'étonne dans ton truc, c'est que j'ai pas de timeout, ni de sleep dans mon client, en fait, et qu'il ne rame pas du tout...
 
Quand tu disais que tu avais "un seul Thread pour le client" tu voulais dire quoi???
 
Bon, je te file le code complet de la classe qui instancie la socket et qui lit dessus côté client. Côté serveur, c'est à peu de chose près le même code (y'a juste la gestion des évènemets serveur  (genre, quand le serveur s'arrête, il prévient tout le monde, histoire que ça crashe pas comme un gros sale)
 
 

Code :
  1. package atchik.chat.itf.applet.client;
  2. import java.io.*;
  3. import java.net.*;
  4. import java.util.*;
  5. import atchik.chat.itf.applet.exception.*;
  6. import atchik.chat.itf.applet.event.NetworkEvent;
  7. import atchik.chat.itf.applet.event.NetworkListener;
  8. import atchik.chat.itf.applet.utils.*;
  9. public class WebChatClient implements Runnable {
  10.    
  11.     // this array contains all the listeners linked to this class
  12.     public Vector listeners = new Vector();
  13.     // the socket which stand for the server
  14.     private Socket server;
  15.     // the stream used to send datas to the server
  16.     private PrintWriter writer;
  17.     // the stream used to read datas received from the server
  18.     private BufferedReader reader;
  19.     // the thread  
  20.     private Thread network;
  21.    
  22.    
  23.     public WebChatClient(String ip, int port) throws IOException {
  24.         server = new Socket(ip, port);
  25.         reader = new BufferedReader(new InputStreamReader(server.getInputStream()));
  26.         writer = new PrintWriter(new OutputStreamWriter(server.getOutputStream()), true);
  27.         network = new Thread(this);
  28.         network.setPriority(Thread.NORM_PRIORITY);
  29.         network.start();
  30.     }
  31.    
  32.    
  33.     public void pause() {
  34.         try {
  35.             Thread.sleep(100);
  36.         } catch (InterruptedException ie) {
  37.         }
  38.     }
  39.    
  40.     public void stop() {
  41.         network = null;
  42.         try {
  43.             server.close();
  44.         } catch (IOException ioe) {
  45.         }
  46.        
  47.     }
  48.  
  49.    
  50.     public void run() {
  51.         String line;
  52.         while (network != null) {
  53.             try {
  54.                 if ((line = reader.readLine()) != null) {
  55.                     fireEvent(line);
  56.                 } else {
  57.                     fireEvent(NetworkEvent.SERVERDIED);
  58.                 }
  59.             } catch (IOException ioe) {
  60.                 fireEvent(NetworkEvent.SERVERDIED);
  61.             }
  62.             network.yield();
  63.         }
  64.     }
  65.    
  66.    
  67.    
  68.     public void removeAllListeners() {
  69.         listeners.removeAllElements();
  70.     }
  71.    
  72.    
  73.     public void addNetworkListener(NetworkListener l) {
  74.         listeners.addElement(l);
  75.     }
  76.    
  77.    
  78.     public void removeNetworkListener(NetworkListener l) {
  79.         listeners.removeElement(l);
  80.     }
  81.    
  82.    
  83.     public void send(String msg) {
  84.         writer.println(msg);
  85.         writer.flush();
  86.     }
  87.    
  88.    
  89.     public void fireEvent(String line) {
  90.         NetworkEvent e = new NetworkEvent(line);
  91.         // we send the event to all the listeners available
  92.         for (int i = 0; i < listeners.size(); i++)
  93.           ((NetworkListener) listeners.elementAt(i)).networkEvent(e);
  94.     }
  95.    
  96. }

 
 
Bon, y' vraiment rien de sorcier là dedans, hein, en fait..

n°194696
veryfree
Posté le 13-08-2002 à 16:11:34  profilanswer
 


   public void fireEvent(String line) {  
       NetworkEvent e = new NetworkEvent(line);  
       // we send the event to all the listeners available  
       for (int i = 0; i < listeners.size(); i++)  
         ((NetworkListener) listeners.elementAt(i)).networkEvent(e);  
   }  
     
}


que fait l objet NetworkEvent ??
 
sinon ca ressemble a ce que j ai fait...

n°194701
darklord
You're welcome
Posté le 13-08-2002 à 16:14:33  profilanswer
 

c'est un évenement asyncrhone qui est paramètre du listener. Le listener recoit un network event et fait ce qu'il faut (par exemple récupérer la ligne, regarder quel genre de commandes c'est etc etc).
 
Comme ca ta thread de lecture ne s'occupe pas de savoir ce qu'elle doit faire avec l'info qui entre


---------------
Just because you feel good does not make you right
n°194704
gfive
Posté le 13-08-2002 à 16:18:40  profilanswer
 

Quel homme, ce DarkLord! :)  
Au passage, c'est codé comme un cochon, mon truc : l'arrêt de la thread est tout pas bô, et tout...Mais bon, ça date de quand j'apprenais à utiliser les threads!

n°194809
veryfree
Posté le 13-08-2002 à 20:05:45  profilanswer
 

c super comme facon de faire mais a quoi est ce qu il ressemble ce thread en gros?
 
mais ca fait un thread par ligne lu c enorme non?
en cas de flood en plus ca peux faire des ravage jme trompe?
 
 
darlord>> j ai essayé le socket timout et j ai droit a une exception tout les 1.5 seconde ca me fait de la peine de les voir s affichier ds la console du plug in ,et le chat consomme presque autant ( c est tres difficile de comparé...  [ mon seu indice est le gestionnaire de tache de windows 2000])
 
merci de votre aide a tout les deux

n°194835
--greg--
Posté le 13-08-2002 à 20:30:52  profilanswer
 

au fait, rapport au titre: c'est pas trop dur à supporter?

n°194841
veryfree
Posté le 13-08-2002 à 20:42:39  profilanswer
 

--greg-- a écrit a écrit :

au fait, rapport au titre: c'est pas trop dur à supporter?  




ben y a un peu de fumée ds ma chambre c est embetant , ca a le merite de faire fuir les moustiques [:ddr555]

n°194850
--greg--
Posté le 13-08-2002 à 21:34:39  profilanswer
 

[:dawa]
et l'odeur ça va quoi?

n°194851
veryfree
Posté le 13-08-2002 à 21:38:57  profilanswer
 

--greg-- a écrit a écrit :

[:dawa]
et l'odeur ça va quoi?



serieusement tu voulait dire quoi au juste par rapport au titre?
 
tu veux venir essayé le chat la?
c ici http://veryfree.dns2go.com

n°194852
--greg--
Posté le 13-08-2002 à 21:39:42  profilanswer
 

veryfree a écrit a écrit :

serieusement tu voulait dire quoi au juste par rapport au titre?



je voulais dire ce que tu as compris.
une feinte à 2 sous quoi

n°194853
veryfree
Posté le 13-08-2002 à 21:40:51  profilanswer
 

--greg-- a écrit a écrit :

je voulais dire ce que tu as compris.
une feinte à 2 sous quoi




 
 
allé vien je t attend  [:snoozy]

n°194854
--greg--
Posté le 13-08-2002 à 21:43:15  profilanswer
 

j'ai po tout suivi mais euh
j'ai une jdk sur ma machine
mais ça veut que je telecharge le plugin pour ie :/
y'a une manip à faire pour pas re-telecharger tout ça?

n°194857
veryfree
Posté le 13-08-2002 à 21:48:55  profilanswer
 

--greg-- a écrit a écrit :

j'ai po tout suivi mais euh
j'ai une jdk sur ma machine
mais ça veut que je telecharge le plugin pour ie :/
y'a une manip à faire pour pas re-telecharger tout ça?




faut allé ds le paneau de configuration >> plug in java>>onglet avancé>> choisie un autre jre ...
 
 

n°194858
--greg--
Posté le 13-08-2002 à 21:50:01  profilanswer
 

veryfree a écrit a écrit :

 
faut allé ds le paneau de configuration >> plug in java>>onglet avancé>> choisie un autre jre ...



j'ai pas "plugin java" dans mon panneau de conf... [:dawa]

n°194869
darklord
You're welcome
Posté le 13-08-2002 à 22:11:28  profilanswer
 

veryfree a écrit a écrit :

c super comme facon de faire mais a quoi est ce qu il ressemble ce thread en gros?
 
mais ca fait un thread par ligne lu c enorme non?
en cas de flood en plus ca peux faire des ravage jme trompe?
 
 
darlord>> j ai essayé le socket timout et j ai droit a une exception tout les 1.5 seconde ca me fait de la peine de les voir s affichier ds la console du plug in ,et le chat consomme presque autant ( c est tres difficile de comparé...  [ mon seu indice est le gestionnaire de tache de windows 2000])
 
merci de votre aide a tout les deux




 
Mais ca fait pas un thread par ligne raaaaaaaaaaaaaaa. Le schéma est le suivant:
 
while(run)
 
// essayer de lire
  - Y a qcch à lire je lis
  - Y a rien à lire je me prends une InterruptedException dans la tronche
 
DANS CE CAS JE NE LOG RIEN C'EST NORMAL. Je m'endors pendant 500msec comme ca je laisse mon système se reposer un peu
 
--> retour à mon while
 
Conclusion:
 
- Une thread pour toutes les lignes :D
- Quand y a rien à lire, fait un check puis dors (d'où consomme peu de ressource au lieu de rester bloquer comme un glan dans la méthode de lecture
 
Je suis abasourdi. Ca fait 2 jours que j'essaie de te montrer ça et à chaque fois tu reviens avec les memes arguments. Je parle chinois ou quoi :??:
 
La thread elle ressemble à celle que gfive a donné dans son post ;) (pas de secret donc)
 
Pour les exceptions, bin faut les catcher et rien imprimer à la console de un et de deux faut t'endormir après sinon ca sert à rien gros malin (je précise que c'est le troisième post ou j'écris la meme chose. J'aimerai bien que tu lises convenablement ou que tu m'explique si c'est pas clair).
 
 :hello: Allez concentre toi bon sang :D
 


---------------
Just because you feel good does not make you right
n°194871
veryfree
Posté le 13-08-2002 à 22:21:00  profilanswer
 

DarkLord a écrit a écrit :

 
 
Mais ca fait pas un thread par ligne raaaaaaaaaaaaaaa. Le schéma est le suivant:
 
 
 
Je suis abasourdi. Ca fait 2 jours que j'essaie de te montrer ça et à chaque fois tu reviens avec les memes arguments. Je parle chinois ou quoi :??:
 
La thread elle ressemble à celle que gfive a donné dans son post ;) (pas de secret donc)
 
 




 
je crois que tu n a pas compris que j avait tres bien compris ce que tu m a dit de faire grand dark  
ma question faisait référence a ce qu a fait jfive en l occurence lancer un thread  
      NetworkEvent e = new NetworkEvent(line);  
 
c a ca que je faisait référence....
 
d ailleur greg est sur le chat la et apperement ca consomme bine moins merci encore  :jap:  

n°194874
--greg--
Posté le 13-08-2002 à 22:29:00  profilanswer
 

veryfree a écrit a écrit :

 
 
je crois que tu n a pas compris que j avait tres bien compris ce que tu m a dit de faire grand dark  
ma question faisait référence a ce qu a fait jfive en l occurence lancer un thread  
      NetworkEvent e = new NetworkEvent(line);  
 
c a ca que je faisait référence....
 
d ailleur greg est sur le chat la et apperement ca consomme bine moins merci encore  :jap:  
 



je confirme
et j'ai pas une bete de course, on peut le dire.
(d'ailleurs le ventilo c pas mis à hurler, c bon signe)

n°195062
gfive
Posté le 14-08-2002 à 10:17:53  profilanswer
 

veryfree a écrit a écrit :

 
 
je crois que tu n a pas compris que j avait tres bien compris ce que tu m a dit de faire grand dark  
ma question faisait référence a ce qu a fait jfive en l occurence lancer un thread  
      NetworkEvent e = new NetworkEvent(line);  
 
c a ca que je faisait référence....
 
d ailleur greg est sur le chat la et apperement ca consomme bine moins merci encore  :jap:  
 




 
Mais..Mais qui a dit que l'instantiation du NetworkEvent cr?ait une Thread??
 
Pour plus d'info, voil? le code de NetworkEvent :  
 

Code :
  1. package atchik.chat.itf.applet.event;
  2. public class NetworkEvent {
  3.   // the embedded object
  4.   private String line;
  5.   public static final String SERVERDIED = "SERVERDIED";
  6.   public NetworkEvent(String line) {
  7.     this.line = line;
  8.   }
  9.   public String getString() {
  10.     return line;
  11.   }
  12. }

 
 
Et celui de NetworkListener :  
 
 

Code :
  1. package atchik.chat.itf.applet.event;
  2. public interface NetworkListener {
  3.   public abstract void networkEvent(NetworkEvent evt);
  4. }

 
 
Apr?s, dans l'impl?mentation de la m?thode networkEvent de l'interface NetworkListener, tu fais ce que tu veux!! Tu cr?es une Thread si tu veux, tu fait faire un bip, voire un prout, n'importe quoi!! LE point important, c'est que la Thread de lecture sur la socket se contente de LIRE, et de transmettre ce qu'elle a lu....R?sultat, elle revient tout de suite sur le Thread.yield() puis sur le line = readLine(), qui est bloquant, et qui par cons?quent ne consome pas.....
Si on faisait les interpr?tations de messages dans la boucle while, ?a boufferait beaucoup plus de ressources : l?, une Thread lit, et une autre (celle par laquelle le NetworkListener a ?t? instanci?) fait le boulot 'lourd'....
 
Ouala ouala...Tu piges???

n°195069
darklord
You're welcome
Posté le 14-08-2002 à 10:25:19  profilanswer
 

ah d'accord. Tu pensais que l'event était une thread? Bin non justement c'est ca la force du listener ... enfin gfive l'a expliqué donc ...


---------------
Just because you feel good does not make you right
n°195070
darklord
You're welcome
Posté le 14-08-2002 à 10:25:54  profilanswer
 

ceci dit very si j'ai une heure ou deux je veux bien regarder ton code pour voir si je trouve des trucs à optimiser.
 
Si ca t'intéresse -> PM


---------------
Just because you feel good does not make you right
n°195101
--greg--
Posté le 14-08-2002 à 11:05:17  profilanswer
 

gfive a écrit a écrit :

 
[...]

Code :
  1. package atchik.chat.itf.applet.event;

 
[...]


je ne m'en lasserai jamais :lol:


Message édité par --greg-- le 14-08-2002 à 11:10:52
n°195121
gfive
Posté le 14-08-2002 à 11:30:01  profilanswer
 

--greg-- a écrit a écrit :

je ne m'en lasserai jamais :lol:




 
Bah pourquoi??? :p

n°195139
Cherrytree
cn=?
Posté le 14-08-2002 à 12:27:21  profilanswer
 

DarkLord a écrit a écrit :

ceci dit very si j'ai une heure ou deux je veux bien regarder ton code pour voir si je trouve des trucs à optimiser.
 
Si ca t'intéresse -> PM



Cte grand prince !


---------------
Le site de ma maman
n°195220
veryfree
Posté le 14-08-2002 à 14:43:11  profilanswer
 

:love:  je vous aime  :love:  
 
 
 
 
Darlord on vois ca en pv des que j ai le temps
pq la il est temps pour moi de décroché un peu je pars en vacance demain  :sol:  
 
 
 
@++ les amis

n°195222
darklord
You're welcome
Posté le 14-08-2002 à 14:45:18  profilanswer
 

bonnes vacances ;)


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Communiquet avec un appletOptimisation d'une requête. Laquelle choisiriez-vous ?
[JAVA] Récupérer width & height d'une image [Solution inside]signature d'un applet ie et netscape
MySql - Optimisation - Champ indexé AND Champ pas indexé[MySQL] 2-3 questions qui me turlupinent ... [Indexes inside]
savez vous faire ça?? (php+js+autre inside) [résolu][.NET] [MySQL] se connecter a une base mysql [INFO INSIDE]
Plus de sujets relatifs à : Mon applet est une usine a gaz [optimisation et solution inside]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)