Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SERVEUR CHAT


Information sur la source

Catégorie :Réseau & Internet Classé sous : chat, server, serveur Niveau : Initié Date de création : 29/11/2002 Date de mise à jour : 03/12/2002 06:27:45 Vu / téléchargé: 6 752 / 1 141

Note :
5 / 10 - par 4 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

Voici un petit serveur chat en mode console, il utilise directement l'API Winsock ce qui lui procure une grande stabilité et une portabilité vers d'autres plateformes (Linux, Unix, MacOs, MacOsX, ...) ainsi que vers d'autre langages (C/C++, Kylix, VB, ...)  

 

Source

  • // Dans le zip y'en a marre de coller la source, lol
  • // Mise a jour le 03/12/2002 :
  • // Correction du bug d'envoie de msg en cas de deconnection du client
  • // Amélioration du moteur d'envoi des mssage ainsi que des exceptions
  • // Test effectué sur 4 machines en rezo avec un tutal de 25 clients/machines
  • // Test de robustesse :
  • // MasterFlood (50 000 lignes) :
  • // - 2 client "flooder" en simultanné
  • // - 1 client de controle de non plantage
  • // Test reussi sans encombres... essayez pour voir...
  • // conseil pour ce test : placer vos procédures d'envoie et
  • // de reception dans 2 Threads distincts
  • // risque de buffer de reception plein
// Dans le zip y'en a marre de coller la source, lol

// Mise a jour le  03/12/2002 :
//      Correction du bug d'envoie de msg en cas de deconnection du client

//      Amélioration du moteur d'envoi des mssage ainsi que des exceptions
//             Test effectué sur 4 machines en rezo avec un tutal de 25 clients/machines

//    Test de robustesse :
//                                MasterFlood (50 000 lignes) :
//                                      - 2 client "flooder" en simultanné
//                                      - 1 client de controle de non plantage
//                                    Test reussi sans encombres... essayez pour voir...
//                                           conseil pour ce test : placer vos procédures d'envoie et 
//                                                             de reception dans 2 Threads distincts
//                                                              risque de buffer de reception plein

Conclusion

Vous voila paré a faire un chat... et peut-être concurencer l'IRC ki sait?lol
Je n'ai pas fourni de client étant donné k'il n'y a pas de protocole non plus... ça c a vous de le faire...
D'ici peu cette source vas etre transformée en Composant avec un protocole complet, ainsi que des login(une fois ke j'aurais compris le fonctionnement des bases de données dans delphi), voila, en attendant ammusez vous bien avec cette petite source ;)  
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de ManChesTer le 02/12/2002 09:43:26 administrateur CS

Il fonctionne assez bien, le code est très bien ècrit !

Cependant devrais être mieux "sécurisé"...

En effet il est assez simple a planté et supporte mal un grand nombre de clients.

Il ne détecte pas les déconnexions erronées (perte de connexion ex: débranchement de modem, extinction d'un routeur .... ), donc il essaie d'envoyer des données sur des sockets qui ne sont plus utilisés, ce qui provoque un plantage..., ceci pourrais facilement être tester et corrigé.

Continue, il es très bien ....

Bon coding...

ManChesTer.

signaler à un administrateur
Commentaire de djtexas le 02/12/2002 12:26:16

la ligne :
if i<=0 then raise Exception.Create('fin de communication');
sert justement a créer une exeption et la fermeture des sockets non valides(ex: deconnections) j'ai testé cette ecentualité en reso local en débranchant l'ordi ou y'a le serveur du switch, le sever créé les exeptions et ferme les sockets alloués et attends de nouvelles connections.

pour ce qui est du nombre important de clients, je n'ai pas encore la solution. mais cela va surement venir.

de plus, en ce moment je travaille plus sur l'integration dans un environement graphique avec bdn pour identification, protocole evolué, ect...

signaler à un administrateur
Commentaire de djtexas le 02/12/2002 12:31:32

oups, nan, g vu en faisant un flood a partir d'un client, et debranchant l'ordi(server) du rezo, win2k n'apprecie pas trop, lol

signaler à un administrateur
Commentaire de djtexas le 02/12/2002 13:48:44

Voila, server updated, bug signalé par ManChesTer (a propos des sockets) corrigé en une ligne dans la procédure dispath...

if TClient(Clients[i]).Handle <> INVALID_SOCKET then TClient(Clients[i]).SendLine(s);

au lieu de :
TClient(Clients[i]).SendLine(s);

signaler à un administrateur
Commentaire de ManChesTer le 12/12/2002 17:43:55 administrateur CS

la c'est vraiment beaucoups mieux ;o))

continue, et bon coding...

ManChesTer.

signaler à un administrateur
Commentaire de chtom le 27/12/2002 11:33:46

djtexas : C'est une honte de COPIER/COLLER les sources d'un autre et de dire que c'est toi qui l'a ecrit ! Effectivement, c'est TRES BIEN ecrit mais on doit ce code à une personne bien connu des VRAIs developpeurs DELPHI. Ce code est extrait du livre "Delphi 7 Studio" edition eyrolles ecrit par Paul TOTH et Olivier DAHAN. Vous vous conseille d'ailleurs de l'acheter...

signaler à un administrateur
Commentaire de thedud le 09/01/2003 20:39:31

j'ai moi meme achete ce livre et il y a les memes sources c'est veritablement honteux de ta part djtexas tu n'as aucun merite c'est comme ton post sur ton client qui lui aussi est une source copié
sur le meme livre de surcrois

signaler à un administrateur
Commentaire de talion le 08/03/2003 14:54:46

lol le petit vicieux, moi sa me donne envie d'acheter le bouquin pas vous ;-)

signaler à un administrateur
Commentaire de max12 le 05/04/2003 23:11:30 administrateur CS

Sa se résume en un mot : Génial

@+

signaler à un administrateur
Commentaire de killasquad le 21/10/2003 04:23:38

Je vousdrais des source palace svp et flood ectera

signaler à un administrateur
Commentaire de fedj le 23/02/2004 00:37:34

abus g les memes sources dans mon livre..........
et en plus c foireux ca marche qua moitie avec telnet.
Dc ouais aucun merite surtout que tu t'en vente mais bon si maintenant ta l'impression d'etre un bon codeur c ton choix

signaler à un administrateur
Commentaire de fedj le 23/02/2004 18:37:57

en plus je suis pas sur tu comprenne ce que c'est les threads si tu fai du copier coller en rajoutant un ligne mais bon

signaler à un administrateur
Commentaire de evay16 le 05/05/2004 18:41:31

Delphi 7 Studio, sa a l'air de te connaitre puisque c ladedans ke ta piké ta source.... ;)

signaler à un administrateur
Commentaire de spyirc le 17/07/2004 22:14:01

j aime ce que tu as fait ... si tu veux en peux faire un serveur irc ensemble mon email c est duno@micso.fr

signaler à un administrateur
Commentaire de josswel le 25/05/2005 10:15:07

J'aimerai te felicite et dire autant comme les autres mais voila qd je telecharge alors le fichier zip ne peut etre dezip et la taille est de 4kb alors quelqu'un peut m'aide

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Chat Client Server [ par Hardouz ] BonjourJ'ai realiser un chat avec les SocketServer et SocketClient et ça fonctionne parfait mais lorsque je demarre le Client sans que le serveur ca m Chat & protocole [ par bidulchouette ] Bonjour, je travaille sur 2 appli pour faire un Chat (un client et un serveur). Pour l'instant tout marche pour le mieux mais le problème est que je n Client & Server Socket ! [ par Powa87 ] Lu all !Voila,j'ai une source avec un truc online basique client qui se connecte à un mec qui ouvre un serveur.Je travaille avec les socket fournis pa pb de outlook avec IE et Msexchange 2000 server [ par kenzi ] bonjour tout le monde j ai un reseau de trois postes dont un est serveur de messagerie et dns et les deux autres sont des client du domaine ds le serv Chat Client/serveur avec Compoisants Indy [ par leobaillard ] Bonjour, je suis assez novice en delphi et je fais un chat avec les indy en delphi 7. Mais il y a un problème. Je n'arrive pas à récup& Problème de connection TClientSocket (pour expert) [ par octavianus_1 ] J'ai une application développée en Delphi7 qui utilise le composant TClientSocket de Indy9 pour se connecter à un serveur sur lequel tourne une applic chat socket ca rame [ par lawkz ] Bonjour, j'ai un problème super bizar j'ai crée un chat (serveur et client) avec les composants socket de delphi 6. Tout marche impec, sauf Identification Client Serveur [ par meen ] Salut, Je suis en train de créer 1 application Client-Serveur (j'utilise les composants idTCPClient et idTCPServer d'Indy 9) dans laquelle le client s Identification Clint Serveur [ par meen ] Salut, Je suis en train de créer 1 application Client-Serveur (j'utilise les composants idTCPClient et idTCPServer d'Indy 9) dans laquelle le client s chat et serveur [ par sebrs1 ] j'ai fait un chat avec les composant clientsocket et serversocket mais jevoudrais faire un serveur sur le net pour eviter de donner l'ip et tout çaqq'


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,39 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.