begin process at 2012 05 24 23:23:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > MINI CHAT CLIENT-SERVEUR (UDP) AVEC TRANSFERT DE FCIHIER (TCP)

MINI CHAT CLIENT-SERVEUR (UDP) AVEC TRANSFERT DE FCIHIER (TCP)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Classé sous :chat, tcp, udp, transfert, clientserveur Niveau :Initié Date de création :01/05/2007 Date de mise à jour :03/05/2007 12:24:35 Vu / téléchargé :12 739 / 1 418

Auteur : CAVAVIN128

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

 Description

Bonjour a vous,
Je veux realiser un chat client-serveur avec transfert de fichier. J'ai plusieurs questions

1) Si le serveur n'envoi pas de reponse a la reception du paquet client sa bug.
2)je l'ai teste avec un pote sur le reseau internet connection ok! mais probleme les paquets que recoit le serveur sont bizarre
mauvais pseudo et pas de texte help me?.


Pour la terminaison client et serveur c'est pas au point ca je me debroullerais. Mais je voudrais des avis sur mon programme et px etre des solutions.
@+ et merci

ps la source est sur la boucle locale.



 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

02 mai 2007 10:57:08 :
Mise a jour j'ai juste netoye les archives pour enlever les ~ et les fichiers que j'avais oublier de supprimer dans le repertoire partage du serveur. Voila
03 mai 2007 12:09:12 :
J'ai modifié pas mal de bug l'upload vers le serveur a change il marche nickel. Le chat est toujours en UDP les paquets font moins de 1ko je pense donc qu'il arrive en une partie Ce programme a seulement été testé sous LINUX Avis au testeur
03 mai 2007 12:24:35 :
J'avis oublier de nettoyer les reps et de remettre le programme sur la boucle locale @+

 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 une capture TRANSFERT DE FICHIER TCP [GCC - GTK] par ganjarasta
Source avec Zip LIBCONNECT - BIBLIOTHÈQUE C++ DE CONNEXION par turnerom
Source avec Zip BIBLIOTHÈQUE PERMETTANT D'UTILISER LES SOCKETS DE MANIÈRE TR... par turnerom
Source avec Zip TCP/IP : TRANSFERT DE FICHIERS par delfare
Source avec Zip CLASSE WINSOCK POUR NEWBIE par jean84

Commentaires et avis

Commentaire de max12 le 01/05/2007 21:53:33 administrateur CS

Si sa ne fonctionne pas c'est pas vraiment la peine de le déposer :S Mais n'oublie pas que si tu envoie un packet il peut très bien recevoir en deux packets de l'autre côté surtout si tu n'est pas en LAN. Je te dis ça car c'est dans 90% des cas la cause du problème, ce que beaucoup ne savent pas.

Commentaire de CAVAVIN128 le 01/05/2007 22:08:05

C'est pas qu'il ne fonctionne pas du tout en LAN il marche nickel. Si le paquet arrive en plusieurs la solution ne serait elle pas de tester la taille que l'on rençoit afin d'aviser et de continuer la recption j'usqua avoir la totalite du paquet?
Avis au pro

Commentaire de max12 le 02/05/2007 08:39:32 administrateur CS

Non tu te complique pas la vie, tu met un caractère à la fin du packet qui indique la fin du message, ensuite tu créer un buffer de l'autre côté qui accumule les données entrantes et les traitent au fur et à mesure. Si jamais une donnée est incomplète il ne fera rien, il la laisse dans le buffer et attend. Une fois la donné complèté (détecter le caractère de fin de trame) il la traite et l'enlève du buffer et continu ainsi de suite ... sans fin.

Commentaire de CAVAVIN128 le 02/05/2007 08:48:43

Je sais pas si tu as regarde mon programme mais je passe mon message sous forme d'une structure.Penses tu que je dois revoir totalement mon appli? Pour detecter la fin dans une structure ca va etre cho?Pour le transfert ce que tu dis est vraiment pas bete.

Commentaire de max12 le 03/05/2007 09:09:49 administrateur CS

Ue structure c'est possible mais je ne te le conseil pas car tu devra envoyer des packets à tailles fixes. Place plutot simplement le caractère changement de ligne comme fin et sa devrait bien aller pour le traitement. http://www.cppfrance.com/codes/SERVEUR-MULTITHREAD-SOUS-LINUX-WINDOWS-MYSQL-VCPLUSPLUS-DEVCPLUSPLUS_40044.aspx

Dans mon code il y a une fonction assez simple a comprendre qui s'occupe de faire ça. Aussi concernant les structures tu risques d'avoir des problèmes avec les machines qui traitent en big endian/little endian (la dessus je dis peut-être une connerie, si quelqu'un veut confirmer/infirmer).

Commentaire de max12 le 03/05/2007 09:15:18 administrateur CS

Pendant que j'y repense UDP c'Est pas la meilleure politique car tu n'as aucune garantie que ton packet arrivera à destination ni que si tu en envoie plusieurs ils arriveront dans l'ordre à moins de créer un protocole de communication compliqué, ce qui reviendrais en définitive a faire du TCP.

En faîte l'avantage de UDP c'est qu'on peut faire du broadcasting lorsque l'on est en LAN, ce qui permet par exemple de transférer un fichier a 20 ordinateurs sans envoyer 20 fois le même fichier à chacune des personnes.

Commentaire de CAVAVIN128 le 07/05/2007 13:42:22

je voudrais avoir des critiques ainsi que des pistes d'ameliorations!!
avis au programmeur

Commentaire de albert0 le 09/05/2007 23:03:20

UDP -> protocole non sécurisé, parfait pour du video stream, ou voix sur ip (car inutile de Renvoyer un paquet)

TCP -> protocoles sécurisé, pour des applis (comme un chat...) où il est préferable de renvoyer si il n'est pas arriver à destination

Comme j'ai lue plus haut, (j'ai pas regardé le code), la taille maximum d'un paquet (ethernet) est de 1500 octets (un paquet Ip 65536 octets). Et donc si un de tes paquets est > 1500, il sera fragementé. les paquets contiennent deja des bits pour dire si c'est le dernier paquets ou pas.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Socket TCP/UDP [ par hobbes ] Bonjour,j ai cru comprendre qu il existe 2 types de sockets (TCP et UDP) pouvant permettre l echange de donnees entre 2 applications sur le reseau.Pou chat TCP/IP sous linux avec C [ par hassanamigos ] bonsoir tous le monde, alé aidez moi je vous en prie!HELP MEs'il vous pailt jé besion d'aide jé 12 projet sur le chat CLIENT/SERVEUR (T transfert d'une structure en C/C++ avec UDP [ par banjo12 ] Je vous explique mon petit probleme :  Pour notre projet d'IUT, on voudrait envoyer grace au protocole UDP une structure d'image (IPLimage d'inte Transfert de fichier TCP [ par remidub ] Bonjour,Je développe actuellement un logiciel qui nécessite des transferts de fichiers par TCP.En effet, je décompose les fichiers en petits paquets ( Programme ecoutant le traffic UDP-TCP [ par KoKa ] Bonjour,Je travaille sous linux et je voudrai ecrire un petit programme qui me permette de filtrer le traffic UDP et TCP avec un certain port de desti dévlopement d'un proxy (tcp-udp) avec Network Simulator [ par adil_2005 ] est ce que quelqu'un pourra m'indiquer où je peut trouver des exemples de sockets en c++ (merci d'avance :)) adil Liste des ports TCP [ par LaTatadu91 ] Bonjour ,voila je travaille actuellement sur un projet pour effectuer des communications utilisant le TCP/IPj'ai ainsi trouver la liste des ports util UDP [ par maladedede ] Bonjours j'ai une question sur le fonctionnement de l'UDP.En TCP on sait que si l'on doit recevoir par exemple 1024 Octects. On va faire recv() et si Après TCP : UDP [ par TheCamel ] Bonjour à tous,Après de longues années de programmation en C, et d'utilisation des sockets, je suis face à un problème : je dois développer deux progr protocole TCP en C [ par schole05 ] bonjour à tous,je suis un jeune développeur qui aimerait atteindre le niveau de la plus part d'entre vous.raison pour laquelle je me réfère à vous dan


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 : 1,342 sec (3)

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