Questo topic e' stato chiuso dal moderatore.
16/09/10 21:21
c0rv0
SOCKET sock;
sock = Connessione(...);
{...}
HANDLE ThrdRispostaServer;
DWORD dwThrdId;
DWORD ThrdParam = sock;
ThrdRispostaServer = CreateThread (NULL, 0,(LPTHREAD_START_ROUTINE)RispostaServer,(LPVOID) &ThrdParam , 0, &dwThrdId);
vorrei passare alla funzione RispostaServer il parametro sock che e' un intero.
come faccio a fare il cast giusto visto che il 4° parametro della funz. CreateThread e' LPVOID
la funzione chiamata e' questa:
DWORD WINAPI RispostaServer(LPVOID Parameter){
SOCKET * sock = Parameter;
printf("Sock in RispostaServer() %d\n",sock);
sleep(2000);
while (1){
char mess[3000]={0};
int n=0;
n = recv(sock,mess,2800,0);
if ( n < 0 ) exit (0);
mess[n]=0;
printf("%s",mess);
sleep(1000);
}
ExitThread(0);
}
il valore di sock allinterno della funzione RispostaServer e' differente da quello passato. Dove sbaglio .. sicuramente il cast?
Ultima modifica effettuata da c0rv0 16/09/10 21:26
aaa
16/09/10 22:03
c0rv0
Ho risolto togliendo l'& ... e grazie
aaa