Socket udp java
Fermé
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
-
Modifié par wiam_ le 20/12/2010 à 23:20
wiam_ Messages postés 168 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 11 août 2013 - 29 déc. 2010 à 23:35
wiam_ Messages postés 168 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 11 août 2013 - 29 déc. 2010 à 23:35
A voir également:
- Socket udp java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Udp vs tcp - Guide
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
7 réponses
flo13142
Messages postés
71
Date d'inscription
mardi 7 décembre 2010
Statut
Membre
Dernière intervention
21 février 2011
18
21 déc. 2010 à 08:37
21 déc. 2010 à 08:37
Salut,
tu n'aurais pas un serveur des tes anciens essais qui tournerait encore?
L'erreur que tu as correspond au fait que ton port 900 est déjà utilisé.
Ou tu as peut être déjà quelque chose qui utilise ce port.
Pourquoi le client envoie sur le 5000 et le serveur écoute sur le 900? Il faut que ce soit le même port.
tu n'aurais pas un serveur des tes anciens essais qui tournerait encore?
L'erreur que tu as correspond au fait que ton port 900 est déjà utilisé.
Ou tu as peut être déjà quelque chose qui utilise ce port.
Pourquoi le client envoie sur le 5000 et le serveur écoute sur le 900? Il faut que ce soit le même port.
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
8
Modifié par wiam_ le 21/12/2010 à 10:47
Modifié par wiam_ le 21/12/2010 à 10:47
merci pour ta réponse,
oui t'as raison j'ai pas utilisé le même numéro de port, avec le même numéro de port il affiche bien le message . Mais parfois quand je lance mon main deux fois de suite , ça marche que la première fois , et la deuxième fois il me dit que l'adresse est déjà utilisée. Est ce que c normal parce que mon port reste toujours utilise.
Et une autre question , dans le main est ce que je suis obligé de lancer le client et le serveur ? il ne suffit pas de lancer que le client ? sinon lequel il faut lancer le premier?
Merci encore
oui t'as raison j'ai pas utilisé le même numéro de port, avec le même numéro de port il affiche bien le message . Mais parfois quand je lance mon main deux fois de suite , ça marche que la première fois , et la deuxième fois il me dit que l'adresse est déjà utilisée. Est ce que c normal parce que mon port reste toujours utilise.
Et une autre question , dans le main est ce que je suis obligé de lancer le client et le serveur ? il ne suffit pas de lancer que le client ? sinon lequel il faut lancer le premier?
Merci encore
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
21 déc. 2010 à 12:01
21 déc. 2010 à 12:01
Salut,
Je ne connais pas grand chose aux protocoles de communication, mais en lisant ce qui concerne UDP comparativement aux protocoles TCP et FTP, cela me donne l'impression que UDP ne relève pas d'un modèle client-serveur dans lequel un client et un serveur doivent d'abord se mettre d'accord pour établir une connexion.
Le protocole UDP n'est pas orienté connexion, est très simple, il peut servir pour des messages unidirectionnels (voir dossier CCM sur UDP)
Ceci étant, quand tu écris que tu veux « créer un client serveur udp en java » , je trouve bizarre et je me demande si le projet est cohérent au départ.
Mais je ne connais pas plus que ça le sujet.
Je ne connais pas grand chose aux protocoles de communication, mais en lisant ce qui concerne UDP comparativement aux protocoles TCP et FTP, cela me donne l'impression que UDP ne relève pas d'un modèle client-serveur dans lequel un client et un serveur doivent d'abord se mettre d'accord pour établir une connexion.
Le protocole UDP n'est pas orienté connexion, est très simple, il peut servir pour des messages unidirectionnels (voir dossier CCM sur UDP)
Ceci étant, quand tu écris que tu veux « créer un client serveur udp en java » , je trouve bizarre et je me demande si le projet est cohérent au départ.
Mais je ne connais pas plus que ça le sujet.
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
8
21 déc. 2010 à 12:26
21 déc. 2010 à 12:26
merci de m'avoir répondu ,
c'est justement ce que je veux faire, je veux que mon client envoie des messages en permanent au serveur , qui lit les messages en permanent à son tour aussi, mais ne renvoie rien au client.
tt se passe bien mais au bout d'un moment , j'ai des messages de genre "Address already in use: Cannot bind" , et ça continue après . Je sais pas si c du à un pb de synchronisation entre le serveur et le client ?
Merci
c'est justement ce que je veux faire, je veux que mon client envoie des messages en permanent au serveur , qui lit les messages en permanent à son tour aussi, mais ne renvoie rien au client.
tt se passe bien mais au bout d'un moment , j'ai des messages de genre "Address already in use: Cannot bind" , et ça continue après . Je sais pas si c du à un pb de synchronisation entre le serveur et le client ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 21/12/2010 à 13:49
Modifié par heyquem le 21/12/2010 à 13:49
Je ne connais vraiment pas bien ces sujets.
Mais je viens de lire la page de Sebsauvage consacrée à TCP/IP
http://sebsauvage.net/comprendre/tcpip/
On y comprend bien ce que le protocole TCP fait de plus par rapport à UDP:
TCP est capable:
de faire tout ce que UDP sait faire (ports).
de vérifier que le destinataire est prêt à recevoir les données.
de découper les gros paquets de données en paquets plus petits pour que IP les accepte
de numéroter les paquets, et à la réception de vérifier qu'ils sont tous bien arrivés, de redemander les paquets manquants et de les réassembler avant de les donner aux logiciels. Des accusés de réception sont envoyés pour prévenir l'expéditeur que les données sont bien arrivées.
Comme il le dit bien:
L'avantage de TCP sur UDP est que TCP permet des communications fiables. L'inconvénient est qu'il nécessite une négociation
Donc dans le protocole TCP, il y a négociation, dans UDP il n'y en a pas.
Dans TCP, la communication entre un client et un serveur est une communication synchronisée = une connexion: il y a des échanges de messages entre ordinateurs concernant la façon dont se réalise chaque transfert de données.
Par exemple, en FTP, qui utilise TCP, il y a une réponse FTP sous forme de code à 3 chiffres qui revient systématiquement vers le client après que ce dernier ait envoyé un ordre vers le serveur FTP.
Tandis que dans le protocole UDP, il n'y a pas de vérifications échangées entre les deux ordinateurs communicants pour vérifier l'intégrité des messages transités; quand il reçoit un message, l'ordinateur récepteur ne répond pas systématiquement ( != serveur).
C'est ce que j'ai voulu dire et c'est bien ce que tu décris:
« mon client envoie des messages en permanent au serveur , qui lit les messages en permanent à son tour aussi, mais ne renvoie rien au client. »
Mais c'est "marrant" , tu termines en te demandant quand même:
« Je sais pas si c dû à un pb de synchronisation entre le serveur et le client ? »
C'est là que je trouve que ça manque de cohérence.
À partir de là, je me demande si cette apparente incohérence entre ce que tu vises et ce que fait effectivement le protocole UDP n'est pas source d'une erreur de conception.
Mais je répète, je ne suis pas calé sur ces sujets.
Et en plus je ne connais pas Java.
Et en plus je n'aime pas Java.
PS
TCP is a connection-oriented protocol, which means before a client can send messages with the server, a connection needs to be explicitly created to the server, and only then can the client-server communication take place. On the other hand, UDP is a connectionless protocol, which means no connection needs to be established between the client and the server for communication.
https://evolt.org/node/60276
Mais je viens de lire la page de Sebsauvage consacrée à TCP/IP
http://sebsauvage.net/comprendre/tcpip/
On y comprend bien ce que le protocole TCP fait de plus par rapport à UDP:
TCP est capable:
de faire tout ce que UDP sait faire (ports).
de vérifier que le destinataire est prêt à recevoir les données.
de découper les gros paquets de données en paquets plus petits pour que IP les accepte
de numéroter les paquets, et à la réception de vérifier qu'ils sont tous bien arrivés, de redemander les paquets manquants et de les réassembler avant de les donner aux logiciels. Des accusés de réception sont envoyés pour prévenir l'expéditeur que les données sont bien arrivées.
Comme il le dit bien:
L'avantage de TCP sur UDP est que TCP permet des communications fiables. L'inconvénient est qu'il nécessite une négociation
Donc dans le protocole TCP, il y a négociation, dans UDP il n'y en a pas.
Dans TCP, la communication entre un client et un serveur est une communication synchronisée = une connexion: il y a des échanges de messages entre ordinateurs concernant la façon dont se réalise chaque transfert de données.
Par exemple, en FTP, qui utilise TCP, il y a une réponse FTP sous forme de code à 3 chiffres qui revient systématiquement vers le client après que ce dernier ait envoyé un ordre vers le serveur FTP.
Tandis que dans le protocole UDP, il n'y a pas de vérifications échangées entre les deux ordinateurs communicants pour vérifier l'intégrité des messages transités; quand il reçoit un message, l'ordinateur récepteur ne répond pas systématiquement ( != serveur).
C'est ce que j'ai voulu dire et c'est bien ce que tu décris:
« mon client envoie des messages en permanent au serveur , qui lit les messages en permanent à son tour aussi, mais ne renvoie rien au client. »
Mais c'est "marrant" , tu termines en te demandant quand même:
« Je sais pas si c dû à un pb de synchronisation entre le serveur et le client ? »
C'est là que je trouve que ça manque de cohérence.
À partir de là, je me demande si cette apparente incohérence entre ce que tu vises et ce que fait effectivement le protocole UDP n'est pas source d'une erreur de conception.
Mais je répète, je ne suis pas calé sur ces sujets.
Et en plus je ne connais pas Java.
Et en plus je n'aime pas Java.
PS
TCP is a connection-oriented protocol, which means before a client can send messages with the server, a connection needs to be explicitly created to the server, and only then can the client-server communication take place. On the other hand, UDP is a connectionless protocol, which means no connection needs to be established between the client and the server for communication.
https://evolt.org/node/60276
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
21 déc. 2010 à 14:04
21 déc. 2010 à 14:04
Sur cette page
http://python.jpvweb.com/mesrecettespython/doku.php?id=client-serveur_udp_mini
je lis:
1- Le serveur UDP synchrone
C'est un serveur synchrone, c'est à dire que chaque requête doit attendre la fin du traitement de la requête précédente
Cela conduit à l'idée que ton serveur passe peut être trop vite d'un traitement à un autre, sans laisser le temps au port concerné d'être libéré.
Il faudrait peut être mettre un temporisation.
http://python.jpvweb.com/mesrecettespython/doku.php?id=client-serveur_udp_mini
je lis:
1- Le serveur UDP synchrone
C'est un serveur synchrone, c'est à dire que chaque requête doit attendre la fin du traitement de la requête précédente
Cela conduit à l'idée que ton serveur passe peut être trop vite d'un traitement à un autre, sans laisser le temps au port concerné d'être libéré.
Il faudrait peut être mettre un temporisation.
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
8
Modifié par wiam_ le 28/12/2010 à 22:44
Modifié par wiam_ le 28/12/2010 à 22:44
oui merci
j'ai mis un sleep(10) au niveau du client , et ça marche mieux , mais au bout d'un moment il remet l'erreur . donc , je crois que je dois augmenter le temps de mon sleep.
Merci pour ton aide.
j'ai mis un sleep(10) au niveau du client , et ça marche mieux , mais au bout d'un moment il remet l'erreur . donc , je crois que je dois augmenter le temps de mon sleep.
Merci pour ton aide.
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
8
28 déc. 2010 à 22:46
28 déc. 2010 à 22:46
Bonsoir tt le monde ,
c'est tjrs moi !!
cette fois ci , j'ai un programme serveur multi clients en udp, chaque clients est reconnu par son identifiant . Le serveur connait à priori les identifiants de ces clients . Je voudrais envoyé une requête pour un client précis en utilisant cet identifiant , comment je fait pour cela ?
Merci bcp pour votre aide !!!
Configuration: Windows Vista / Firefox 3.6
c'est tjrs moi !!
cette fois ci , j'ai un programme serveur multi clients en udp, chaque clients est reconnu par son identifiant . Le serveur connait à priori les identifiants de ces clients . Je voudrais envoyé une requête pour un client précis en utilisant cet identifiant , comment je fait pour cela ?
Merci bcp pour votre aide !!!
Configuration: Windows Vista / Firefox 3.6
wiam_
Messages postés
168
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
11 août 2013
8
29 déc. 2010 à 23:35
29 déc. 2010 à 23:35
je n'ai tjrs pas trouvé une solution , si qql peut me donner une idée ce serait vraiment sympa ,
Merci à vs
Merci à vs