[Java] Chat en UDP

Chat en UDP [Java] - Java - Programmation

Marsh Posté le 16-12-2002 à 17:33:26    

Slt!
Bon, je commence à faire un petit chat en UDP en cours
et j'aimerais avoir des précisions sur le fonctionnement, les différents points à traiter, et voir s'il qq'un n'aurait pas un exemple à me montrer.
Ce sera d'abord en mode texte (on verra plus tard pour le graphisme..) et on pourra bien entendu envoyer des messages privés. Par contre, il n'y a pas de serveur.

Reply

Marsh Posté le 16-12-2002 à 17:33:26   

Reply

Marsh Posté le 16-12-2002 à 17:33:56    

[:yaisse2] was here


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

Marsh Posté le 16-12-2002 à 17:38:08    

Ndmax a écrit :

Slt!
Bon, je commence à faire un petit chat en UDP en cours
et j'aimerais avoir des précisions sur le fonctionnement, les différents points à traiter, et voir s'il qq'un n'aurait pas un exemple à me montrer.
Ce sera d'abord en mode texte (on verra plus tard pour le graphisme..) et on pourra bien entendu envoyer des messages privés. Par contre, il n'y a pas de serveur.
 


 
mmm ...dire a ton prof que c con de faire ca en UDP ? [:banzai]

Reply

Marsh Posté le 16-12-2002 à 17:42:25    

HappyHarry a écrit :


 
mmm ...dire a ton prof que c con de faire ca en UDP ? [:banzai]


 
 
Ben je sais pas trop, je commence seulement dans tout ça.
Si tu peux me donner les avantages/inconvénients de tout ça.
Merci.

Reply

Marsh Posté le 16-12-2002 à 17:48:40    

commence à réfléchir un minimum avant de chercher les avantages/inconvénients. UDP n'est pas un acronyme que tu balançes comme ça. Tu dois qd meme connaitre un minimum non?


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

Marsh Posté le 16-12-2002 à 17:49:52    

[:blueflag]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 16-12-2002 à 18:07:36    

I was here [:yaisse2]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 16-12-2002 à 18:23:06    

Oui, je connais un minimun, mais je ne vois pas encore
trop les différences notables que ça pourrait faire sur un chat.
Je sais que l'UDP en un mode non connecté (contrairement au TCP)... mais j'aimerais savoir par rapport au chat.
 
Merci

Reply

Marsh Posté le 16-12-2002 à 18:40:22    

c'est surtout que l'acheminement des trames et leur ordre n'est pas garanti, donc tu peux très bien perdre des messages ...
 
et puis sans serveur ca veut dire que tu fais du multicast => uniquement en LAN et c'est pas performant ...

Reply

Marsh Posté le 16-12-2002 à 18:42:19    

benou a écrit :

c'est surtout que l'acheminement des trames et leur ordre n'est pas garanti, donc tu peux très bien perdre des messages ...
 
et puis sans serveur ca veut dire que tu fais du multicast => uniquement en LAN et c'est pas performant ...


 
bah meme pas forcément en multicast, simplement en p2p, mais a mon avis c ptet deja un poil complexe

Reply

Marsh Posté le 16-12-2002 à 18:42:19   

Reply

Marsh Posté le 16-12-2002 à 18:57:32    

ben c'est super con de faire de l'udp en java !  
Suffit d'utiliser les java.net.DatagramMachin : http://www.cs.rpi.edu/courses/fall [...] avaudp.pdf
 
bien sur, ca se complique si tu veux gerer pas les erreurs réseaux :/
 

Reply

Marsh Posté le 17-12-2002 à 10:16:49    

benou a écrit :

ben c'est super con de faire de l'udp en java !  
Suffit d'utiliser les java.net.DatagramMachin : http://www.cs.rpi.edu/courses/fall [...] avaudp.pdf
 
bien sur, ca se complique si tu veux gerer pas les erreurs réseaux :/
 
 


 
il n'a jamais été question de dire si c'était compliqué ou pas. La seule chose qu'on dit c'est que c'est pas du tout adapté. Avant de donner une solution technique faudrait peut etre voir si c'est viable  :sarcastic:


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

Marsh Posté le 17-12-2002 à 10:17:41    

Ndmax a écrit :

Oui, je connais un minimun, mais je ne vois pas encore
trop les différences notables que ça pourrait faire sur un chat.
Je sais que l'UDP en un mode non connecté (contrairement au TCP)... mais j'aimerais savoir par rapport au chat.
 
Merci


 
quoi par rapport au chat? C'est qu'une bête application réseau comme une autre ... Faut voir si tu peux te permettre de recevoir tes paquests sans séquence et peut etre en perdre l'un ou l'autre ... Réfléchis et tu verras que ca n'a aucun sens


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

Marsh Posté le 17-12-2002 à 10:18:34    

benou a écrit :

c'est surtout que l'acheminement des trames et leur ordre n'est pas garanti, donc tu peux très bien perdre des messages ...
 
et puis sans serveur ca veut dire que tu fais du multicast => uniquement en LAN et c'est pas performant ...


 
ah j'avais pas vu ce post là désolé :D
 
bin même du multicast hein benou. T'en connais bcp toi des environnemens qui le supportent correctement ... Un LAN ouais mais même ...


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

Marsh Posté le 17-12-2002 à 10:21:10    

DarkLord a écrit :


 
ah j'avais pas vu ce post là désolé :D
 
bin même du multicast hein benou. T'en connais bcp toi des environnemens qui le supportent correctement ... Un LAN ouais mais même ...


 
Un chat uniquement en LAN, ça va être bien comme truc ! :D

Reply

Marsh Posté le 17-12-2002 à 10:26:26    

El_Gringo a écrit :


 
Un chat uniquement en LAN, ça va être bien comme truc ! :D


 
bin ca peut avoir son intéret mais là n'est pas la question de toutes façons


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

Marsh Posté le 17-12-2002 à 12:48:10    

ben moi j'avais fait ca en TP ... je pense pas que ce soit une grosse appli son machin !

Reply

Marsh Posté le 17-12-2002 à 12:50:19    

benou a écrit :

ben moi j'avais fait ca en TP ... je pense pas que ce soit une grosse appli son machin !


 
non d'accord mais faire un chat en UDP ça n'a aucun sens. Si ce n'est éventuellement de montrer qu'UDP n'est pas fait pour ca. A part ca je ne vois pas désolé ...


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

Marsh Posté le 17-12-2002 à 13:07:56    

Ouai, c'est bien de l'UDP et pour un LAN uniquement..
En plus, normalement ça doit prendre environ 3 TP de 3h
donc ça ne doit pas être vraiment ENORME !!
 
Sinon, pour le net, c'est possible de  faire un chat en Java,
ou est-ce qu'il vaut mieux faire ça en ASP ou PHP (je ne connais pas ces langages).

Reply

Marsh Posté le 17-12-2002 à 13:11:55    

was here pour la deuxième question [:yaisse2]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 17-12-2002 à 13:38:01    

IWH aussi [:yaisse2]


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

Marsh Posté le 17-12-2002 à 14:05:36    

Ndmax a écrit :


Sinon, pour le net, c'est possible de  faire un chat en Java,
ou est-ce qu'il vaut mieux faire ça en ASP ou PHP (je ne connais pas ces langages).


évidement que c'est possible.  
pour la deuxième partie, tu mélanges tout !

Reply

Marsh Posté le 17-12-2002 à 15:04:19    

On parle de chat, on parle de java...Ca tombe bien, j'ai une question qui me turlupine (oui oui).
Dans un thread (n°1) qui receptionne les messages, on a priori un readln() qui attend des données d'un flux...
Question: quand la communication est arrétée par un autre thread (n°2), comment on arrète le thread n°1 sachant qu'il est probablement "en attente" de l'exécution de l'io? (à part le stop() )
 
je suis clair là? C'est marrant mais je me suis jamais posé des questions de concurrency sur des threads qui attendaient des entrées/sorties d'un ordi distant.


---------------
Horizon pas Net, reste à la buvette!!
Reply

Marsh Posté le 17-12-2002 à 15:07:45    

Willyzekid a écrit :

On parle de chat, on parle de java...Ca tombe bien, j'ai une question qui me turlupine (oui oui).
Dans un thread (n°1) qui receptionne les messages, on a priori un readln() qui attend des données d'un flux...
Question: quand la communication est arrétée par un autre thread (n°2), comment on arrète le thread n°1 sachant qu'il est probablement "en attente" de l'exécution de l'io? (à part le stop() )
 
je suis clair là? C'est marrant mais je me suis jamais posé des questions de concurrency sur des threads qui attendaient des entrées/sorties d'un ordi distant.


 
tu peux mettre un timeout sur toutes socket que tu crées. Donc si ta socket part en timeout une exception est levée. Est ce que ca répond à ta question?


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

Marsh Posté le 17-12-2002 à 15:19:16    

DarkLord a écrit :


 
tu peux mettre un timeout sur toutes socket que tu crées. Donc si ta socket part en timeout une exception est levée. Est ce que ca répond à ta question?


 
Oui pourquoi pas...
 
Cela dit, dans la boucle du thread (et dans ma conception du truc), il devrait y avoir une variable qui dit si la communication tiens toujours ou pas...
En fait, le thread passe le test du while (communication) et lance le client.in.readln()...Là il repasse la main à un autre thread.
Quand il revient (s'il revient), il attend toujours un retour de readln alors que la communication est déjà arrété...D'où problème.
 
Remarque je pourrais avoir une boucle infinie et une exception levée quand "communication" passe à false. Et pof je fais un stop() sur le thread.
Hum...


---------------
Horizon pas Net, reste à la buvette!!
Reply

Marsh Posté le 17-12-2002 à 15:22:06    

bin si l'un ou l'autre ferme la connexion tu vas te manger une exception qd tu voudrais lire dessus ...


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

Marsh Posté le 17-12-2002 à 15:25:57    

DarkLord a écrit :

bin si l'un ou l'autre ferme la connexion tu vas te manger une exception qd tu voudrais lire dessus ...


 
Je suis pas sur que naturellement il envoie une exception... A vérifier.


---------------
Horizon pas Net, reste à la buvette!!
Reply

Marsh Posté le 17-12-2002 à 15:27:27    

Willyzekid a écrit :


 
Je suis pas sur que naturellement il envoie une exception... A vérifier.
 


 
 
c'est dépendant de l'OS. Mais si tu fais un close() dessus normaleent tu dois te prendre une IOException ...


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

Marsh Posté le 17-12-2002 à 15:31:13    

DarkLord a écrit :


 
 
c'est dépendant de l'OS. Mais si tu fais un close() dessus normaleent tu dois te prendre une IOException ...


 
Ok je vais tester ca ce soir avec un petit chat client/server histoire de dérouiller mes notions réseau


---------------
Horizon pas Net, reste à la buvette!!
Reply

Marsh Posté le 17-12-2002 à 16:13:00    

Heu, y'aurais moyen d'avoir ton source pour ce chat client/serveur histoire de voir le fonctionnement et la grosse différence avec ce que je veux faire..
 
Merci!

Reply

Marsh Posté le 17-12-2002 à 16:48:39    

oki quand ce sera fait, je t'enverrais un PM!


Message édité par Willyzekid le 17-12-2002 à 16:49:05

---------------
Horizon pas Net, reste à la buvette!!
Reply

Marsh Posté le 18-12-2002 à 12:15:22    

Merci !!!
Ca me permettra de voir un peu plus loin
que mon prog de m...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed