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