Passage de structure a un thread

Signaler
Messages postés
106
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
20 novembre 2009
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
bijour tout le monde g un pb qui me bloc

je voudrai savoir comment passer une structure a AfxBeginThread et récupéré les donner précédement enregistrer dans ma structure dans mon thread
voila mon code:


UINT proc(LPVOID param)


{


SOCKET slave=-1;



struct sockaddr_in client;


size_t clientlen=
sizeof(client);



while(1)


{


slave=accept(0,(
struct sockaddr*)&client,(socklen_t*)&clientlen);


CString str;


if(slave==-1)


{


MessageBox(0,"erreur accept","ERREUR",0);


exit(0);


}


char* buf=(
char*)malloc(1000);


int nb=recv(slave,buf,
sizeof(buf),0);


buf[nb]=0;


MessageBox(0,buf,"ERREUR",0);


}



return 0;


}


void CtcpseqDoc::demarrage_serveur()


{


SOCKET fd_socket;


struct sockaddr_in addr;


ZeroMemory(&addr,
sizeof(addr));


addr.sin_family=AF_INET;


addr.sin_port=htons(7000);


addr.sin_addr.s_addr=INADDR_ANY;


struct sockaddr_in client;


size_t clientlen=
sizeof(client);


MessageBox(0,"chez nous","bienvenue",0);


fd_socket = socket(AF_INET,SOCK_STREAM,0);


if(fd_socket==-1)


{


MessageBox(0,"erreur socket","ERREUR",0);


exit(0);


}


if(bind(fd_socket,(
struct sockaddr*)&addr,
sizeof(addr))==-1)


{


MessageBox(0,"erreur bind","ERREUR",0);


exit(0);


}


if(listen(fd_socket,5)==-1)


{


MessageBox(0,"erreur listen","ERREUR",0);


exit(0);


}


struct parame* prouc;


prouc->handle=GetActiveWindow();


prouc->fd=fd_socket;


CWinThread* thread;


thread=AfxBeginThread(proc,(LPVOID)&prouc,0,0,NULL);


}

merci d'avance

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
irait cela:
thread=AfxBeginThread(proc,(LPVOID)&prouc,0,0,NULL);

mais ceci:
struct parame* prouc;
prouc->handle=GetActiveWindow();
prouc->fd=fd_socket;

prouc->handle ??? ça pointe où le pointeur prouc ?

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
devrait aller mieux:
parame rouc;
rouc.handle = GetActiveWindow();
rouc.fd = fd_socket;
thread = AfxBeginThread(proc,(LPVOID)&rouc,0,0,NULL);

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++