begin process at 2012 05 27 14:20:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > CHAT MULTITHREAD

CHAT MULTITHREAD


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Classé sous :thread, chat, socket, réseau Niveau :Initié Date de création :03/01/2007 Date de mise à jour :09/01/2007 13:48:21 Vu / téléchargé :9 270 / 1 210

Auteur : GoldenEye

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cela fait bien longtemps que je n'ai pas posté de source
Dans le cadre d'un développement plus large, j'ai eu besoin d'un logiciel de chat
Celui-ci reprend une architecture Serveur/Client. En mode Serveur, ce dernier se lance et attend des connexions clientes. Automatiquement une connexion est créé permettant de dialoguer... tout seul
A partir de là, il est nécessaire de lancer une ou plusieurs autres instances du programme mais cette fois-ci en mode client en indiquant l'IP du serveur (en mode réseau local ou internet). L'IP internet est récupérée à partir d'un script PHP http://programmeur.fou.free.fr/MyIP.php dont je remercie l'auteur au passage.
6 connexions simultanées sont possibles pour le moment (un #define est à l'origine de cette limitation)
Lorsqu'une déconnexion est repérée( mot clé "/exit" ou bien fermeture de la fenêtre), le socket est libéré, laissant sa place à qq1 d'autre souhaitant se connecter (toujours dans la limite de 6 personnes simultanées). Pour chaque client connecté, un thread est créé au niveau du serveur. Ce thread s'acquitte de la réception du message venant du client et du renvoi de la prose aux autres clients (tout transite par le serveur)
Au niveau client, un thread se charge de la réception des messages, l'envoi étant provoqué par la touche "Enter" comme dans MSN

Améliorations à venir :
-----------------------

* Disparition de la notion d'IP : le serveur ira écrire sur un site son IP internet et le client s'y connectera afin de venir lire cette ip. L'utilisateur n'aura plus à intervenir
* Amélioration de l'interface (police, couleurs, personnalisation)
* envoi de fichiers
* insertion d'icônes (smileys ?)


 Conclusion

Je cherche à faire fonctionner la chose derrière un routeur livebox mais pour le moment ça ne marche pas (j'ai pourtant fait un redirection de ports). Donc pour la partie "connexion sans ip" on va attendre un peu

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 janvier 2007 16:51:35 :
- mise à jour Vecchio56 - petit bug de l'interface, au démarrage en mode client, l'IP internet n'était pas grisée
04 janvier 2007 17:10:42 :
- Interface repensée et simplifiée - Codage plus clair - Quelques bugs - Affichage pour un client arrivant de tous les autres déjà connectés
09 janvier 2007 13:40:26 :
- Pour chaque client, voir en temps réel la liste des gens connectés (limité à 4 personnes pour le moment) - possibilité d'envoyer un message à un sous-groupe de personnes
09 janvier 2007 13:48:21 :
- Pour chaque client, voir en temps réel la liste des gens connectés (limité à 4 personnes pour le moment) - possibilité d'envoyer un message à un sous-groupe de personnes

 Sources du même auteur

Source avec Zip Source avec une capture TILE MAP EDITOR 2.4
Source avec Zip Source avec une capture ALGORITHME A*
Source avec Zip TRANSFORMÉE DE FOURIER : REPRÉSENTATION GRAPHIQUE [VC++ ET A...
Source avec Zip [VC++] COMPRESSION DE HUFFMAN+TUTORIEL
[VC++ ET DJGPP] FLOCON DE VON KOCH AVEC ALLEGRO

 Sources de la même categorie

Source avec Zip Source avec une capture MINI SERVEUR HTTP [WINDOWS] par ganjarasta
Source avec Zip Source avec une capture CLIENT DE TEST MODBUS TCP par brunovan
Source avec Zip Source avec une capture SCANIP [ARP / ICMP] par ganjarasta
Source avec Zip Source avec une capture TRACEROUTE [WINPCAP] par ganjarasta
Source avec Zip SERVEUR MULTITHREAD [LINUX/WIN] par nipepsinicolas

 Sources en rapport avec celle ci

Source avec Zip MINICHAT MULTI-CLIENT par wisar
Source avec Zip INTÉGRATION SIMPLE D'UN CLIENT IRC À UNE APPLICATION par PJulot
Source avec Zip Source avec une capture CLIENT/SERVEUR UTILISANT LES IOCP RÉALISÉ AVEC BORLAND BUILD... par goodboy21
Source avec Zip SERVEUR/CLIENT LINUX par ghost4
Source avec Zip Source avec une capture CHAT UTILISANT 2 SERVEURS par randriano

Commentaires et avis

Commentaire de vecchio56 le 03/01/2007 15:51:26 administrateur CS

Pour ton problème de programmation, si j'ai bien compris, il est assez simple a réaliser:

A.h:
class B;
class A
{
  B* a;
}

B.h
class A;
class B
{
  A* a;
}

En gros, tu remplaces les #include "A.h" par une simple déclaration de la classe. Les includes se font dans le .cpp
Personnellement je fais toujours comme ca quand j'ai une dépendance circulaire entre classes

Commentaire de GoldenEye le 03/01/2007 16:47:28

Je ne connaissais pas l'astuce, je viens de la mettre en oeuvre, ça marche au poil. Je vais updater la source
Merci beaucoup Vecchio56

Commentaire de MuPuF le 03/01/2007 16:55:13

Hello, je suis l'auteur du script. Je te remercie d'utiliser mon source de FileSender pour récupérer l'IP internet.
Dans un soucis d'indépendance envers mon site, je livre le code source du script de la page php.

/*MyIP.php*/
<?php
     print("$REMOTE_ADDR"); //Pourquoi faire compliqué ;-)
?>

Voila, bonne continuation.

Commentaire de GoldenEye le 03/01/2007 17:09:40

Je ne retrouvais plus ton nom, c'est bien de t'être manifesté.
J'avais vu traîner un -petit- code avec un OpenURLxxx mais impossible de (re)mettre la main dessus

Commentaire de MuPuF le 03/01/2007 17:40:20

no probs ;-), contant que ça serve.

Commentaire de kiki67100 le 22/04/2007 23:28:01

vraiment bien la source merci
pour l'ip ses mieux ceci

/*MyIP.php*/
<?php
     print("$_SERVER[REMOTE_ADDR]"); //ses plus sur ?>

Kevin

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Thread et socket udp [ par eurysthe ] Bonjour !!Voila j'ai un petit problème de thread qui me pourrit la vie.J'ai crée un thread qui doit écouter en boucle les informations qui transite su Chat en dev c++, Besoin de thread ou pas? [ par LimDul ] Voila j essaye de faire un chat en c++.Mais pas en visual c++.Dans mon raisonnement j ai besoin de faire un thread.Le thread principale pour ecouter Thread et socket [ par epoc ] Petite question.J'ai créé un petit serveur avec un socket 'bloquant'. Etant donné que je désire que mon aplication ne soit pas bloquée j'ai créé un th Socket [ par c2millet ] Bonjour à tous,je voudrais dans un premier tps si qqun a ou connais une doc sur les sockets. Ensuite, g un petit pb. g réalisé un serveur qui lit sur Probleme thread [ par PunkDude424 ] J'ai un probleme avec les threadJ,ai un server et jessai de créer un thread a chaque fois quun client se connecte, mais sa fonctionne pas.J,ai essayer Logiciel de dialogue en réseau (chat) [ par jpcoffe ] bonjour!je d&#233;veloppe un chat r&#233;seau, j'ai d&#233;j&#224; fait l'application serveur il me reste &#224; d&#233;velopper l'application client; Trasfert réseau : DCOM ou socket? [ par Kaorichan ] &nbsp;&nbsp;Bonjour,Je suis &#233;tudiante et je suis actuellement en stage. Le but de mon stage est pouvoir transf&#233;rer des images/vid&#233;os au Socket IP avec 2 cartes reseau [ par Jeff_Trek ] Bonjour, je crée un logiciel qui réceptione des trames IP via socket IP et je dois les renvoyer via socket IP sur une autre machine. Jusque là cela Probleme avec un Thread créant une socket [ par lapinfroid ] Bonjour a tous ,c'est la premiere fois que je poste sur ce forumDonc si jamais je ne respecte pas toutes les regles n'hesitez pas a me le signalerVoic Scanner un réseau local : durée du RTT [ par YURIX ] Je suis en train de programmer en C++ un scanner pour mon r&#233;seau local.J'ai donc cr&#233;er un socket de cette mani&#232;re :WSADATA WSAData;WSAS


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales