begin process at 2012 05 29 13:26:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

MFC client serveur CAsyncSocket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

MFC client serveur CAsyncSocket

mercredi 4 mars 2009 à 08:52:39 | MFC client serveur CAsyncSocket

wildcat010

Bonjour à tous !
Voici mon problème, je développe un programme qui à pour but de gérer la communication entre un serveur est plusieurs clients, mais le problème est que mon serveur n'accepte pas plusieurs connexion de clients, je ne sais pas si le problème viens de mon serveur ou de mon client qui bloque le serveur.
Pour la connexion de mon serveur j'utilise la méthode OnAccept(), qui est dans la classe SocketService qui dérive de CAsyncSocket :

void CSocketServeur::OnAccept(int CodeErreur)
{
// le serveur accepte les connexions

CSocketService *m_SocService = new CSocketService;

if(Accept(*m_SocService))
{
AfxMessageBox("Client connecté ");
}
else
{
delete m_SocService;
}

CAsyncSocket::OnAccept(CodeErreur);
}
ensuite dans une autre classe qui dérive de CAsyncSocket : CSocketServeur, j'ai le OnReceive() suivant :
void CSocketService::OnReceive(int CodeErreur)
{
TCHAR buffer[50];
CString m_strReception;
int nbRead = Receive(buffer, 50);
buffer[nbRead] = 0;
CString taille(buffer);
m_strReception += taille; //additionne les 2 valeurs et la place dans la variable de gauche

if(m_strReception == "quit")
{
ShutDown();
AfxMessageBox("Client déconecté");
}
else
{
AfxMessageBox(m_strReception);
}
CAsyncSocket::OnReceive(CodeErreur);
}
Voila pour mon serveur.
Ensuite je voudrai avoir des informations si possible sur le clients car je n'utilise pas du tout les fonctions OnClose() et tout ... Je voudrai aussi savoir comment les implémenter si il y en a besoin.
Pour mon client j'utilise juste les fonctions suivante :
ipconfig est un objet de CSocketService qui dérive de CAsyncSocket et qui est utilisé dans Monprojet.Dlg .
Pour crée la connexion :
socket = ipconfig.Create(SOCK_STREAM) ;
socket = ipconfig.Connect(m_ip, m_port);
Pour l'envoie de donnée :
        ipconfig.Send(m_texte,strlen(m_texte));
Pour la fermeture :
        ipconfig.Close();

Aidez moi svp !!!!
jeudi 5 mars 2009 à 20:44:35 | Re : MFC client serveur CAsyncSocket

nanonavich


il manque un bout code de connection?

 socket_result= socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
     
        server_ip = new char [strlen(ip)+1];
        strcpy(server_ip, ip);
        server_port = port;
        address.sin_family = AF_INET;
        address.sin_addr.s_addr = htonl(INADDR_ANY);
      
  bind(socket_result, (LPSOCKADDR)&address, sizeof(address)))
        
   
       listen(socket_result, 10))  <- listen te permet ici 10 client?
       

 



jeudi 12 mars 2009 à 09:08:26 | Re : MFC client serveur CAsyncSocket

wildcat010

En faite je fait juste un dans mon projetDlg.cpp :
BOOL Csocket_serveurv3Dlg::OnInitDialog()
{
     .................
// Création et mise en écoute
m_Serveur.Create(5001);
m_Serveur.Listen();
}
Normalement le Listen() permet 5 clients par défaut enfin je pense, et là impossible d'avoir plus de 1 connexion.

Tu crois que le problème viens d'ici ?


Cette discussion est classée dans : serveur, client, ipconfig, casyncsocket, codeerreur


Répondre à ce message

Sujets en rapport avec ce message

Client UDP avec CAsyncsocket [ par underdog08 ] Bonjour,Je doit réaliser une communication client serveur UDP en mfc avec CAsyncsocket, je suis débutant en programmation et j'ai difficilement réussi Client/Serveur [ par hy_dev ] HI folks, Voila, j'ai 2 programmes Client et Serveur lancés sur la même machine (c'est une colaboration Peer), ils s'echanges des infos mutuellement. application client serveur [ par houario ] salut, je suis  etudiant je voudrais faire une application client/server qui consist a acceder a une base de données dans une autre machine ,  quelle SOCKET Information serveur [ par kiki67100 ] Salut tout le monde,Je voudrais retirer les information d'un serveur UDP "Gta en multi-joueur" , juste renvoyez se que le client "Officiel" a envoyez Client/Serveur TCP/IP [ par shinji09 ] Bonjours, je suis entrain de faire un client/serveur dans le cadre d'un projets, alors j'arrive a faire ma liaison, a recevoir des données, par contre socket borlandC++6 [ par faucheuse ] Bonjour a tous Alors voila j'essai d'apprendre a me servir de la socket sous BORLAND C++6, mais ca me met toujours plein d'erreur. Finalement j'arri savoie si le Client est déconnecté [ par amoweb ] Salutje suis entrain de faire un serveur HTTP avec GCC ( sous windows).Le problème c'est que si le client se déconnecte pendant que j'envoie un fichie programmation socket [ par hanaw ] Comment écrire un programme simple communication client serveur en TCP/IP en C qui retourne au serveur un message contenant l'adresse IP du client. Sockets sous MFC [ par DJONJ ] Bonjour, Peut être avez vous comme moi décortiqué un jour les codes sources exemples de Microsoft sous MFC CHATTER et CHATSRVR qui est un modèle cli Client FTP en mode passif [ par anek971 ] Bonjour,je tente de créer un "client FTP" pour l'instant tres simpliste qui permet juste de se connecter à un serveur FTP et de lister le contenu du s


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

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 : 0,421 sec (4)

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