begin process at 2013 05 23 09:04:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > CLIENT/SERVEUR UTILISANT LES IOCP RÉALISÉ AVEC BORLAND BUILDER 2007

CLIENT/SERVEUR UTILISANT LES IOCP RÉALISÉ AVEC BORLAND BUILDER 2007


 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 :socket, client, serveur, fichier, chat Niveau :Initié Date de création :30/11/2008 Date de mise à jour :27/03/2009 23:35:19 Vu / téléchargé :5 326 / 584

Auteur : goodboy21

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

 Description

Cliquez pour voir la capture en taille normale
présentation :
              Le zip est composé de deux programmes distincts.
               -un programme client qui permet de se connecter au serveur afin d'échanger des fichiers et de dialoguer avec les autres clients connectés au serveur.
               -un programme serveur qui gèrent les clients et leur permet d'interagir entre eux.
méthode :
   le mécanisme utilisé pour manipuler les sockets est le concept IOCP de windows, mécanisme très puissant et performant qui permet de traiter plusieurs client en même temps avec une poignées de
   threads.d'une part ce mécanisme est plus performant que select, WSAAsyncselect et WSAEventselect de l'autre il est plus compliqué à mettre en place que ces derniers. une fois que l'on    connait    les différentes étapes pour mettre en place le mécanisme et les quelques cas de figures qui peuvent se présenter,  bien la réalisation d'une application autour de ce concept n'est pas plus compliqué que l'utilisation de select() etc...

il se pourrait que vous rencontrez des souci à l'inclusion de <shlobj.h> ds ce cas il faudra changer shlobj.h et shlobj.h comme cela:
shobjidl :

    * Commenter les lignes 2189 à 2193
    * Commenter les lignes 8085 à 8095


shlobj.h :

    * Modifier la ligne 1422 en } *LPFVSHOWINFO;
    * Modifier la ligne 3457 en } *LPSHELLFLAGSTATE;

pour l'utiliser sur le net penser à ouvrir le port que vous auriez choisi sur le modem adsl.


 Conclusion

Le code n'est pas commenté mais cependant je reste à votre disposition pour toutes questions, suggestions ou bugs

 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

30 novembre 2008 21:55:18 :
la foto n'était pas une capture d'écran
30 novembre 2008 21:56:07 :
la foto n'était pas une capture d'écran
30 novembre 2008 21:57:24 :
ce n'etais pas une capture d'écran
30 novembre 2008 22:01:18 :
b
30 novembre 2008 22:04:15 :
b
30 novembre 2008 22:06:19 :
d
01 décembre 2008 00:11:59 :
b
01 décembre 2008 10:21:28 :
mise à jour: suppression liste de clients lors de la déconnection du serveur
01 décembre 2008 22:32:29 :
fixation des bugs à la connexion
02 décembre 2008 00:55:00 :
ajout de fonctionnalité
15 décembre 2008 17:39:59 :
v
04 février 2009 11:05:10 :
-v
27 mars 2009 23:35:21 :
mis à jour

 Sources du même auteur

Source avec Zip Source avec une capture QUELQUES EXEMPLES D'UTILIISATION DES THREADS

 Sources de la même categorie

Source avec Zip LINUX: UTILISATION ETHTOOL (TEST DU LIEN ETHERNET, VITESSE, ... par Twinuts
Source avec Zip Source avec une capture [QT] ENVOI AUTO DE MAIL HEBDOMADAIRE par rob57530
Source avec Zip GESTIONNAIRE_FTP(CLIENT+SERVEUR) par cyberntique
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

 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 SERVEUR/CLIENT LINUX par ghost4
Source avec Zip MINI CHAT C/C++ par edf102
Source avec Zip MINI CHAT SOCKET par rtfm321

Commentaires et avis

Commentaire de goodboy21 le 02/12/2008 09:10:03

téléchargé 20 foi depui hier.félicitation, beau projet.

Commentaire de ciosi le 12/06/2009 21:10:18

les fichier c++ jen fé koi

Commentaire de redjelyounes le 01/09/2009 04:31:48

bonjour
je vous remerci pour votre code vraimen  c'est genial

je veu vous demandé une aide si vous peuvez

je veu un code source du client/serveur qui fais le transfere du fichier"avec c++ sous linux"

description: client demande du fichier aux serveur
             serveur recherche ds sa base si le trouve envoyé directement aux client demandeur
            sinon il lance une demande a tous les autre client
            si un des clien possede le fichier lui transferé aux serveur
            le serveur lui transferé aux client demandeur
je vous remerciez infinement ...........

Commentaire de azerty123 le 11/04/2010 19:58:41 10/10

j'aimerais savoir comment tu récupère le contenu des dossier de partage et leurs icones respectif, j'ai regarder dans ton code mais sans grand succès de compréhension ...
jolie travail !

Commentaire de goodboy21 le 11/04/2010 23:52:38

bonjour,
j'utilise deux objets TImageList "LargeIconList et SmallIconList" qui représentent les petites et moyennes icônes.
Ensuite j'affecte à la propriété Handle de TImageList la valeur renvoyé par "SHGetFileInfo :API Windows" regarde la procédure "FormCreate dans interface.cpp" Ceci à pour but de faire pointer nos deux TImagesList sur la  Listes d'images interne à windows pour les petites et moyennes icones.
Pour finir j'utilise la fonction "GetIconIndex dans interface.cpp" qui va me retourné l'index de l'image en fonction  de l'extension du nom de fichier passé en paramètre.
Pour récupérer le contenu d'un dossier j'utilise les fonctions "FindFirst et FindNext :API windows"
n'hésites pas à laisser un message pour plus d'explication.

Cordialement en espérant t'avoir aidé.

Commentaire de azerty123 le 15/04/2010 13:10:24

Merci j'ai réussi à récupérer les petit icones


  if(OpenDialog1->Execute())
  {
     //chemin du fichier  + extension
     CheminFichier->Text=OpenDialog1->FileName; //CheminFichier est un Edit
     //Nom du fichier + ext
     AnsiString NomFichier  = ExtractFileName(CheminFichier->Text);


  TListItem*pitem;
  pitem=VueFichierClient->Items->Add();  //VueFichierClient est un ListView
  pitem->Caption=NomFichier;
  pitem->ImageIndex =DossierClient->GetIconIndex(CheminFichier->Text.c_str());
  pitem->SubItems->Add(ExtractFileExt(CheminFichier->Text));

  }


Il me reste plus qu'a afficher le contenu du répertoire avec tout les fichier.

Commentaire de azerty123 le 15/04/2010 16:28:47

voila j'ai réussi à faire sa :

screen :
http://img188.imageshack.us/img188/8867/rghv.png


void __fastcall TListeDossiers::Button3Click(TObject *Sender)
{
WIN32_FIND_DATA File;
HANDLE liste;
//liste des disque dur
AnsiString Driver = DCB->Drive;
AnsiString Chemin = Driver+":\\*" ;
ShowMessage(Chemin);
//AnsiString Taille =(File.nFileSizeHigh*MAXDWORD+File.nFileSizeLow)/1024;

liste = FindFirstFile(Chemin.c_str(),&File);
VueFichierClient->Clear();


do
{
if(File.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // ==> Repertoire
{
TListItem*pitem;
pitem=VueFichierClient->Items->Add();
pitem->Caption = File.cFileName;

}
else // ==> Fichier
{
}
} while((FindNextFile(liste, &File)));
FindClose(liste);

}

Commentaire de azorkot le 25/02/2011 17:39:24

salut ,
code tres interessant mais j'aimerais bien que tu nous explique mieux le role de chaque class avec si possible un shéma présentant les héritages histoire de mieux voir el code
merciiii

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

help me!!!!!!!!!! source en C transfert de fichier client/serveur [ par fdhb ] bonjour c urgent je cherche un source en C sous unix code client & code serveur pour l'envoi d'un fichiermerci client serveur [ par wanny ] bonjour à tous.Voila, j'ai une appli off line en VC++.Je dois développer une nouvelle fonctionnalité de mises à jour de modules appartenant à cette ap Tutorial - Socket, serveur, client BCPP + GUI [ par NyxArm ] Bonjours tout le monde, je suis présentement en période d'appretissage du language CPP sur Borland(v.6). Maintenant que j'ai acquis quelque conna Evènement sur un socket client [ par darsh99 ] J'aimerais savoir si la méthode utilisée par BlackGoddess pour son serveur (http://www.cppfrance.com/article.aspx?ID=1287) est récupérable pour gérer Thread et socket besoin de conseil [ par kawito ] Salut,je desire realiser un client/serveur TCPle probleme est que les fonctions accept et recv sont bloquante.donc cela bloque l'affichage etc...mon p Programmer un chat avec un serveur en java et un client en c++ [ par Snake655 ] J'aimerais savoir si déjà c'est possible (je pense que oui quand meme :-D) et si oui, que vous m'eclaireriez sur la méthode. Mon but serait de creer u Envoi de fichier d'un client vers un serveur [ par kanagan ] Salut à tous.Voilà, je dois réaliser un programme (enfin 2: un client et un serveur) en C++ sous Viual C++ 6.Le but: Le client (sur un pc) doit envoye transfert de fichier!!! [ par youpiyoyo ] je suis en galère ca fais depuis le debut de l'aprem ke je cherche a faire du transfert de fichier entre un serveur et un clientje m'embrouille avec l programmation socket sous linux [ par blazman34 ] Bonjour à tous !!Voici mon probleme :Je suis en train de programmer une application client serveur sous linux, tout a bien marcher juska présent juska problème socket sous windows [ par kod32 ] Voici mon code : (winsock2.h)-----------------------------int main(){ /* inialisation */ WSADATA wsa; WSAStartup(MAKEWORD(2,0), &wsa); /*


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

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 : 4,228 sec (3)

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