Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2952 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Probleme de transfert avec une application mfc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de transfert avec une application mfc

n°1349898
johnson951
Posté le 19-04-2006 à 17:12:37  profilanswer
 

Bonjour,
 
Je développe acuellement une application MFC (exe) pour me permettre d'envoyer un fichier d'un PC à un autre en utilisant une connexion ethernet.
Ainsi, j'ai deux codes sources (le serveur et le client)
 
Application serveur :
void CProgressDlg::OnButton11()  
{  
        #define PORT 200 /// Select any free port you wish  
 
 
        AfxSocketInit(NULL);  
        CSocket sockSrvr;  
        sockSrvr.Create(PORT); // Creates our server socket  
        sockSrvr.Listen(); // Start listening for the client at PORT  
        CSocket sockRecv;  
        sockSrvr.Accept(sockRecv); // Use another CSocket to accept the  
connection  
 
 
        CFile myFile;  
        myFile.Open("C:\\Bulles de savon.bmp",CFile::modeRead |  
CFile::typeBinary);  
 
 
        int myFileLength = myFile.GetLength(); // Going to send the correct  
File Size  
 
 
        sockRecv.Send(&myFileLength, 100); // 4 bytes long  
 
 
        byte* data = new byte[myFileLength];  
 
 
        myFile.Read(data, myFileLength);  
 
 
        sockRecv.Send(data, myFileLength); //Send the whole thing now  
 
 
        myFile.Close();  
        delete data;  
 
 
        sockRecv.Close();  
 
 
 
}  
 
 
Application client :
void CClientDlg::OnButton1()  
{  
        #define PORT 200 /// Select any free port you wish  
 
        AfxSocketInit(NULL);  
        CSocket sockClient;  
        sockClient.Create();  
        sockClient.Connect("127.0.0.1", PORT); // "127.0.0.1" is the  
IP to your server, same port  
 
 
        int dataLength;  
        sockClient.Receive(&dataLength, 100); //Now we get the File Size first  
 
 
        byte* data = new byte[dataLength];  
        sockClient.Receive(data, dataLength); //Get the whole thing  
 
 
        CFile destFile("C:\\ Bulles de savon", CFile::modeCreate |  
CFile::modeWrite | CFile::typeBinary);  
 
 
        destFile.Write(data, dataLength); // Write it  
 
 
        destFile.Close();  
 
 
        delete data;  
        sockClient.Close();  
 
 
 
}  
 
Une fois tous ceci compilé j'insere mon application client sur un PC et l'application serveur dans un autre.
J'ouvre ensuite l'application serveur puis j'appuis sur le bouton pour débuter le transfert.
J'ouvre ensuite l'application client afin de recevoir ce fichier.
 
Mais j'ai quelques probleme tous d'abord :
Mon application serveur ne se ferme plus.
Je recoit bien un fichier sur mon ordinateur client mais celui est composé que de "0" (si on l'ouvre avec WinHex) et de plus sa taille est de 3.07 Mo alors que l'orignale ne fait que 65Kb.
 
Savez vous d'ou provient l'ensemble de ces problemes ?
 
Merci
 

mood
Publicité
Posté le 19-04-2006 à 17:12:37  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Probleme de transfert avec une application mfc

 

Sujets relatifs
Petit problème de boucleProblème incompréhensible
Probleme sur une fonction !!Problème connexion XMLServer entre Flash (AS) et Java
=> Problème de roll.[Résolu] Problème ouverture Popup
[Flash] Problème de loaderProbleme de free sur une structure
Probleme d'execution JS (Via AJAX)XML/XSL Probleme de vitesse d'execution Javascript
Plus de sujets relatifs à : Probleme de transfert avec une application mfc


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR