begin process at 2010 02 10 14:34:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

probléme d'allocation mémoire ?


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

probléme d'allocation mémoire ?

samedi 11 décembre 2004 à 10:57:13 | probléme d'allocation mémoire ?

templeofboom

dans le cadre du développement d'une application de socket sous devcpp je me retrouve bizarrement coincé a cause d'une erreur d'allocation mémoire à la création d'une nouvelle instance d'une classe
cliente qui doit effectuer le traitement lié au message reçu.

ma classe cliente recoit en paramètre un entier( descripteur de la socket cliente créé) et une structure de donnée contenant des tableau de taill fixe.
mon code est du style :

void socket_serveur::ecouter()
{
if(listen(sock_serveur,5)==-1) //socket en ecoute avec file d'attente de 5
perror("\nerreur de listen") ;

while(1)
{
longueur_client= sizeof(adresse_client) ;
//fcntl(sock_client,F_SETFL,O_NONBLOCK); //rend le accept non bloquant
if((sock_client = accept(sock_serveur,(struct sockaddr*)&adresse_client,/*(socklen_t*)*/&longueur_client))<0)
{
perror("\nErreur nouvelle socket") ;

}

if(sock_client>=0)
{
socket_serveur::lire();
cout<<"le message a rechercher est"<<s1.message<<endl;
cout<<"la couleur est"<<s1.couleur<<endl;

client = new Cclientdb( s1, sock_client);

}


}
est ce que le passage d'une structure en paramètre pose probléme?


Temple0fb00m
samedi 11 décembre 2004 à 15:07:51 | Re : probléme d'allocation mémoire ?

AmiraS


les listes chaines dans lelangage C++ avec interface graphique
samedi 11 décembre 2004 à 18:02:09 | Re : probléme d'allocation mémoire ?

Arnaud16022

Membre Club
"est ce que le passage d'une structure en paramètre pose probléme?"
ben moi je passerai plutot un pointeur, mais j'y connais rien aux sockets, ca doit surement poser un pb
______________________
Omnia vincit labor improbus
vendredi 22 janvier 2010 à 00:35:01 | Re : probléme d'allocation mémoire ?

memspell

longueur_client= sizeof(adresse_client) ;
//fcntl(sock_client,F_SETFL,O_NONBLOCK); //rend le accept non bloquant
if((sock_client = accept(sock_serveur,(struct sockaddr*)&adresse_client,/



Hello,

Tu fait un sizeof sur la variable... au lieu du type, si tu as fait une allocation dynamique pour allouer adresse_client il est fort probable que l'appel à accept avec la mauvaise taille est corrompu le heap.

Essaye sizeof(struct sockaddr)

Cédric
www.memspell.com
C++ Memory Allocator haute performance.


Cette discussion est classée dans : serveur, client, socket, sock, probléme


Répondre à ce message

Sujets en rapport avec ce message

Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS 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 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); /* client & server [ par Stormy ] J'ai codé un serveur simple usant de TCP. Comme client j'utilise NetCat. Or, quand NetCat 'ferme', mon serveur ne détecte pas la clôture de la relatio [serveur]telecharger fichier [ par lombredudragon ] Avec les socket je debute et j'aimerais me faire un serveur en c ou c++ ou kan on se connect au port 23 par telnet on recoit automatiquement un fichie Qd un Socket reçoit une trame erronée ... [ par valoue ] Bonjour,Je suis en train de développer una appli client serveur sous VC++, j'utilise des SOCKET.Le client et le serveur communiquent en s'envoyant des Client/Serveur, encore..... [ par glubust ] Je veux faire fonctionner une application client/serveur sous UNIX (client) et WINDOWS (serveur).Le programme client envoi une simple requête au serve


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,218 sec (3)

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