Subject: Re: [UDP] Gestion des messages et congestion
From: Enis <ebh2@wanadoo.fr>
Newsgroups: fr.comp.lang.java
Date: 15 Jun 2004 03:48:02 -0700
salut
salut
en fait j'ai pas opte pour un buffer dans lequel mettre les octets
recus du message udp mais plutot pour un arraylist. mais utiliser un
buffer serait peut etre plus optimal (un ByteBuffer ou autre...)
seulement j'ai toujours des problemes...soit je perds toujours des
messages...soit l'interface se bloque....toute aide serait la
bienvenue....merci
voila le code pour la connexion
[code]
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.List;
[/code]
voila comme a chaque fois j'enleve le premier element faudra juste que
je rajoute un test qd la liste n'as plus d'element...mais en tt cas ca
simule une fifo...mais ca marche pas....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Tignac
Salut,
Le mieux dans le cas de communication UDP est :
1. mettre un thread a lire le flux (comme tu le fais) ; 2. preparer un second thread qui consome le flux (Consumer ci dessous). 3. des qu'il y a un msg, add(msg);
public abstract class Consumer implements Runnable {
// faire quelque chose protected abstract void consume(String pSText) ;
ArrayList coFile = new ArrayList();
public void add(String pSText) { coFile.add(pSText); notify(); }
Subject: Re: [UDP] Gestion des messages et congestion From: Enis Newsgroups: fr.comp.lang.java Date: 15 Jun 2004 03:48:02 -0700
salut
salut
en fait j'ai pas opte pour un buffer dans lequel mettre les octets recus du message udp mais plutot pour un arraylist. mais utiliser un buffer serait peut etre plus optimal (un ByteBuffer ou autre...)
seulement j'ai toujours des problemes...soit je perds toujours des messages...soit l'interface se bloque....toute aide serait la bienvenue....merci
voila le code pour la connexion [code] import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.util.ArrayList; import java.util.List;
[/code] voila comme a chaque fois j'enleve le premier element faudra juste que je rajoute un test qd la liste n'as plus d'element...mais en tt cas ca simule une fifo...mais ca marche pas....
-------- End Forwarded Message --------
Salut,
Le mieux dans le cas de communication UDP est :
1. mettre un thread a lire le flux (comme tu le fais) ;
2. preparer un second thread qui consome le flux (Consumer ci dessous).
3. des qu'il y a un msg, add(msg);
public abstract class Consumer implements Runnable {
// faire quelque chose
protected abstract void consume(String pSText) ;
ArrayList coFile = new ArrayList();
public void add(String pSText) {
coFile.add(pSText);
notify();
}
Subject: Re: [UDP] Gestion des messages et congestion
From: Enis <ebh2@wanadoo.fr>
Newsgroups: fr.comp.lang.java
Date: 15 Jun 2004 03:48:02 -0700
salut
salut
en fait j'ai pas opte pour un buffer dans lequel mettre les octets
recus du message udp mais plutot pour un arraylist. mais utiliser un
buffer serait peut etre plus optimal (un ByteBuffer ou autre...)
seulement j'ai toujours des problemes...soit je perds toujours des
messages...soit l'interface se bloque....toute aide serait la
bienvenue....merci
voila le code pour la connexion
[code]
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.List;
[/code]
voila comme a chaque fois j'enleve le premier element faudra juste que
je rajoute un test qd la liste n'as plus d'element...mais en tt cas ca
simule une fifo...mais ca marche pas....
1. mettre un thread a lire le flux (comme tu le fais) ; 2. preparer un second thread qui consome le flux (Consumer ci dessous). 3. des qu'il y a un msg, add(msg);
public abstract class Consumer implements Runnable {
// faire quelque chose protected abstract void consume(String pSText) ;
ArrayList coFile = new ArrayList();
public void add(String pSText) { coFile.add(pSText); notify(); }
Subject: Re: [UDP] Gestion des messages et congestion From: Enis Newsgroups: fr.comp.lang.java Date: 15 Jun 2004 03:48:02 -0700
salut
salut
en fait j'ai pas opte pour un buffer dans lequel mettre les octets recus du message udp mais plutot pour un arraylist. mais utiliser un buffer serait peut etre plus optimal (un ByteBuffer ou autre...)
seulement j'ai toujours des problemes...soit je perds toujours des messages...soit l'interface se bloque....toute aide serait la bienvenue....merci
voila le code pour la connexion [code] import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.util.ArrayList; import java.util.List;
[/code] voila comme a chaque fois j'enleve le premier element faudra juste que je rajoute un test qd la liste n'as plus d'element...mais en tt cas ca simule une fifo...mais ca marche pas....
-------- End Forwarded Message --------
ebh2
salut en fait j'ai pas compris comment ta classe consumer fonctionne... ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je recois une connexion sur udp??
est ce que c'est ca : public class ConnexionUdp extends Thread { .. Arraylist tableau = nArrayList(); .. void run() { tableau.add(ce que je recoit de udp) }
et consumer vient prendre le permier element du tableau a chaque fois?? en fait je suis pas sur d'avoir bien compris comme marchent les synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie traitement. comment je peux faire ca? merci
salut
en fait j'ai pas compris comment ta classe consumer fonctionne...
ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je
recois une connexion sur udp??
est ce que c'est ca :
public class ConnexionUdp extends Thread
{
..
Arraylist tableau = nArrayList();
..
void run()
{
tableau.add(ce que je recoit de udp)
}
et consumer vient prendre le permier element du tableau a chaque
fois??
en fait je suis pas sur d'avoir bien compris comme marchent les
synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie
traitement.
comment je peux faire ca?
merci
salut en fait j'ai pas compris comment ta classe consumer fonctionne... ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je recois une connexion sur udp??
est ce que c'est ca : public class ConnexionUdp extends Thread { .. Arraylist tableau = nArrayList(); .. void run() { tableau.add(ce que je recoit de udp) }
et consumer vient prendre le permier element du tableau a chaque fois?? en fait je suis pas sur d'avoir bien compris comme marchent les synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie traitement. comment je peux faire ca? merci
ebh2
salut en fait j'ai pas compris comment ta classe consumer fonctionne... ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je recois une connexion sur udp??
est ce que c'est ca : public class ConnexionUdp extends Thread { .. Arraylist tableau = nArrayList(); .. void run() { tableau.add(ce que je recoit de udp) }
et consumer vient prendre le permier element du tableau a chaque fois?? en fait je suis pas sur d'avoir bien compris comme marchent les synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie traitement. comment je peux faire ca? merci
salut
en fait j'ai pas compris comment ta classe consumer fonctionne...
ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je
recois une connexion sur udp??
est ce que c'est ca :
public class ConnexionUdp extends Thread
{
..
Arraylist tableau = nArrayList();
..
void run()
{
tableau.add(ce que je recoit de udp)
}
et consumer vient prendre le permier element du tableau a chaque
fois??
en fait je suis pas sur d'avoir bien compris comme marchent les
synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie
traitement.
comment je peux faire ca?
merci
salut en fait j'ai pas compris comment ta classe consumer fonctionne... ArrayList coFile = new ArrayList();
est ce que c'est l'arraylist que je dois remplir a chaque fois que je recois une connexion sur udp??
est ce que c'est ca : public class ConnexionUdp extends Thread { .. Arraylist tableau = nArrayList(); .. void run() { tableau.add(ce que je recoit de udp) }
et consumer vient prendre le permier element du tableau a chaque fois?? en fait je suis pas sur d'avoir bien compris comme marchent les synchonized et le notify..je vais relire la doc dessus.
enfin...je veux vraiment separer la partie connexion de la partie traitement. comment je peux faire ca? merci