OVH Cloud OVH Cloud

Socket

4 réponses
Avatar
daniel
Bonjour,

J'ai cre=E9 une class myServeur qui fonctionne bien mais qui ne marche
qu'une fois. Je m'explique:
apr=E8s le s.accept() lorsque le client se deconnecte, le serveur
n'aime pas un retour =E0 un nouveau soc.accept() qui est dans une boucle

public void run() {
while(true){
soc =3D s.accept();
=2E..

}

Comment faire pour qu'un client se reconnecte facilement ?

Merci
Daniel

4 réponses

Avatar
Hervé AGNOUX
daniel wrote:


J'ai creé une class myServeur qui fonctionne bien mais qui ne marche
qu'une fois. Je m'explique:
après le s.accept() lorsque le client se deconnecte, le serveur
n'aime pas un retour à un nouveau soc.accept() qui est dans une boucle

public void run() {
while(true){
soc = s.accept();
...

}

Comment faire pour qu'un client se reconnecte facilement ?



Je ne vois pas ce qui gène dans ce code. Mais peut être mélanges-tu serveur
et socket, car il n'y a heureusement pas besoin d'attendre qu'un client se
déconnecte pour refaire un accept, et, bien sûr, selon ton code, il ne faut
pas refaire un nouveau soc.accept, mais un nouveau s.accept.

Quand tu dis "le serveur n'aime pas", cela veut dire quoi ?


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
PASTUREL JL
Voir le book de Bruce Eckel Thinking in Java, ou la traduction française
penserenjava, il y a des exemples de clients server sur sockets.
http://penserenjava.free.fr/
chapitre 15

"Hervé AGNOUX" a écrit dans le
message news: 42159f3b$0$16294$
daniel wrote:


J'ai creé une class myServeur qui fonctionne bien mais qui ne marche
qu'une fois. Je m'explique:
après le s.accept() lorsque le client se deconnecte, le serveur
n'aime pas un retour à un nouveau soc.accept() qui est dans une boucle

public void run() {
while(true){
soc = s.accept();
...

}

Comment faire pour qu'un client se reconnecte facilement ?



Je ne vois pas ce qui gène dans ce code. Mais peut être mélanges-tu
serveur

et socket, car il n'y a heureusement pas besoin d'attendre qu'un client se
déconnecte pour refaire un accept, et, bien sûr, selon ton code, il ne
faut

pas refaire un nouveau soc.accept, mais un nouveau s.accept.

Quand tu dis "le serveur n'aime pas", cela veut dire quoi ?


--
Hervé AGNOUX
http://www.diaam-informatique.com



Avatar
daniel
Bonjour,

J'avais un null pointeur.
Jai trouvé un exemple avec un appel de thread pour plusieurs clients
qui fonctionne. J'ai donc plusieurs connexion s.accept
J'aimerais afficher les messages clients de toutes les threads crées
dans un textarea. comment faire ?

Merci
Daniel




Hervé AGNOUX wrote:
daniel wrote:


J'ai creé une class myServeur qui fonctionne bien mais qui ne marche
qu'une fois. Je m'explique:
après le s.accept() lorsque le client se deconnecte, le serveur
n'aime pas un retour à un nouveau soc.accept() qui est dans une boucl e

public void run() {
while(true){
soc = s.accept();
...

}

Comment faire pour qu'un client se reconnecte facilement ?




Je ne vois pas ce qui gène dans ce code. Mais peut être mélanges- tu serveur
et socket, car il n'y a heureusement pas besoin d'attendre qu'un client se
déconnecte pour refaire un accept, et, bien sûr, selon ton code, il ne faut
pas refaire un nouveau soc.accept, mais un nouveau s.accept.

Quand tu dis "le serveur n'aime pas", cela veut dire quoi ?





Avatar
Hervé AGNOUX
daniel wrote:

Bonjour,

J'avais un null pointeur.
Jai trouvé un exemple avec un appel de thread pour plusieurs clients
qui fonctionne. J'ai donc plusieurs connexion s.accept
J'aimerais afficher les messages clients de toutes les threads crées
dans un textarea. comment faire ?



Continuer comme ça : lire la doc et appliquer les exemples qui fonctionnent,
c'est la meilleure méthode.

Cordialement.


--
Hervé AGNOUX
http://www.diaam-informatique.com