bonjour tous le monde,
je veux créer une application de chat en programmant avec c#, mais je ne sais pas d où il faut commencer.
l objectif de cette discussion est de collécter le maximum d'avis,de suggestions et d'idées.
et merci
Version imprimable
bonjour tous le monde,
je veux créer une application de chat en programmant avec c#, mais je ne sais pas d où il faut commencer.
l objectif de cette discussion est de collécter le maximum d'avis,de suggestions et d'idées.
et merci
salut
Pourquoi collecter des avis ? (pourquoi pas me diras tu)
Du chat... en C#... il y a moult exemples sur le net
(souvent en utilisant le remoting d'ailleurs)
sur codeproject et ailleurs, on en trouve plusieurs :)
The Monz, Toulouse
merci pour ta réponse.
en fait moi je voulais la travailler a base de socket mais bon si ce remoting et interessant je vais essayer.
mais svp par où je dois commencer
salut
tu peux tres bien le faire avec des sockets
ListenerSocket par exemple, ca fonctionnera très bien evidemment :)
L'interet du remoting serait de "créer" des evenements pour la mise à jour lors de la reception d'un message sur le serveur.
LE principe d'un chat, en general, c'est :
1 serveur qui centralise les connections.. et qui recoit un message à envoyer à quelqu'un... et qui route les messages des uns vers les autres..
Maintenant, on pourrait prévoir un système qui fasse du chat point à point. Donc, le serveur ne servirait jusqu'à donner la liste des connecter et ensuite, chacun se connecte directement aux connectés :)
(mais la solution via serveur est un peu mieux surtout par rapport aux accès reseaux)
Maintenant, avec le remoting, c'est super simple à faire à partir du moment ou tu ne veux pas d'evenement. Car les evenements en remoting, c'est un peu chiant à gérer.
Par contre, j'ai vu ya pas super longtemps un exemple de chat s'appuyant sur WCF et ca avait l'air simple, rapide et efficace à réaliser :)
The Monz, Toulouse
merci pour votre aide ,
donc je pense que je vais utiliser le .net remoting meme si j ai jamais travaillé avec :lol:
Si t'es motivé pour tout faire toi meme c'est super. Mais avent de commencer a coder, tu devrai peut etre mieux definir ton projet. Afin de ne pas avoir de mauvaise surprise en cours de route.
Y a plusieur facon de faire un chat. J'ai trouvé de nombreux codes, avec des avantages et des incoveniants pour tous. Mais je n'ai pas trouvé le code parfait pour toutes les utilisations.
Tu devrai peut etre definir :
si un serveur peut accepter plusieurs clients.
si il y aura un serveur central et tous les clients s'y connecte ou si un utilisateur sera serveur pour son/ses contacts.
es ce qu'un client peut ecrire a un autre client en privé ou es ce qu'il va ecrire a tous les clients connecter (genre conference).
Y a plusieur maniere de se connecter, alors faut voir l'utilisation que tu veux en faire.
moi je l'ai déjà fait en Java avec le RMI Remote Méthode Invocation c'est du même genre que le Remote du c# et c'est beaucoup plus simple qu'avec les socket !
le remote gère automatiquement les sockets, il creé des squelettes de tes classes client et serveur et ensuite tu peux directement crée des instances de ces mêmes classes depuis le client ou le serveur : beaucoup plus simple ;)
en simplifier ça donne :
dans le client par ex :
InterfaceServeur serveur = new InterfaceServeur ();
serveur.connection(this);
enfin c'est super simplifier mais c'est l'idée ;)
apres je sais pas ce que ça donne en c# mais ça doit être du même genre !
en fait mon room de chat doit permettre la connexion en privé comme en public.
je m explique; au début on doit se connecter au serveur, ensuite on visualise la liste des contactes connéctés et la il y a deux possibilité :
1- soit on chat en public et tous le monde peut regarder la conversation.
2-soit on double click sur un contacte pour lui parler en privé.
svp par où je dois commencer et merci pour votre aide
déjà ne commence pas par programmer! tout le monde fait ça moi le premier et c'est mauvais ^^
commence par déjà bien comprendre comment marche le Remote du c# et ensuite fait un diagramme de tes classes client serveur ;)
vu ton idée je proposerais de faire un serveur global qui crée des sous serveurs représentant différentes fenêtres de communication !
mais avant tout faire un diagramme de classe ! :p
merci Mr arnauldDev pour vos conseils, parce que vraiment c'est ce que nous disaient nos prof:" ne jamais commencé par le code". mais est ce qu il s agit bien d un diagramme de classe ou bien d un organigramme(algorithme)??
Completement d'accord. Faut un diagramme de classe.
Quand tu dis double clic sur un client pour lui parler en privé, qui va etre le serveur de cette com?
es ce que le serveur 'principal' reste en place et sert d'intermediaire?
ou es ce que le client 'double cliqué' va ouvrir un serveur supplementaire pour son contact?
merci je suis tout a fait d'accord.
Mais est ce que jaurai besoin d'une base de données? parce que moi ce que je sais que chaque fois q on utilise le diagramme de classe , il ya derière une base de données :D ,c'est pour ca que j ai dis un organigramme
non non c'est bien un diagramme de classe, cela te permetera de voir quelles classes intéragissent entre elles ainsi que les fonctions que doivent implémenter tes classes, et pour ce qui est de la base de donnée , rien a voir avec le diagramme de classe ;) ici tu n'aura pas besoin de base de donnée ^^ tu dois peut être confondre avec la représentation Merise pour la BDD ;)
ici diagramme de classe = UML
8O,j'ai etudié l UML 2, mais ce que je voulais dire c'est que moi je vois une classe comme une table si par exemple je dis la classe client automatiquement je pense a une table qui s apelle client:D
ah oki je comprenais pas la correspondance avec la base de donnée ;) (j'ai toujours pas compris :p mais bon ^^)
sinon oui ici c'est évident qu'il te faudra des classes, pour ton cas minimum 3, apres si tu veux que ton programme soit bien codé objet peut etre plus ;)
bonjour,
je viens de voir avec mon encadrant et il m a dit que ca doit etre une application web et qu'on va pas utiliser ni les sockets ni le .net remoting.
en plus il ne s'agit que du chat en public y a pas de chat privé cad que tous le monde doit lire les message de tous l monde :D
éhh oui et on va utiliser pour ca une base de données et a chaque fois qu'un membre ecrit un message on le sauvegarde dans une table au niveau de la base et apres un certain temps(3 ou 4 seconde) j affiche tout le contenu de la table pour les membre .
c'est ca l'idée :yaisse2: et maintenent je suis entrain de réaliser les diagramme de classe, et si vous avez des idées a ce sujet n'hésitez pas
merci
et bien vous faites pas dans la simpliciter ;) désolé jamais fait et ça me semble bien compliqué pour ce que c'est !
bonne chance ^^