Bonjour tout le monde !
J'ai un petit soucis de thread...
Le main() de mon code accepte des connexions tcp puis les redirige vers des threads qui eux gereront les lectures / ecritures dessus...
Cependant, impossible de faire communiquer mon thread Main et mes threads creees...
La fonction PostThreadMessage me renvoit toujours l' ERROR_INVALID_THREAD_ID
J'ai bien essaye de le mettre dans une boucle et un sleep, comme le preconise la MSDN mais rien n'y fait

Code du main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
thread = CreateThread(NULL, 0, servControl::thClientControl, NULL, 0, NULL);
if (thread == NULL)
{
	cerr << "Couldn't create thread !" << endl;
	cerr << "(errcode " << GetLastError() << ")" << endl;
	closesocket(cSock);
	// gestion mess erreur utilisateur a creer
}
thHandles[thread] = 1;
while (PostThreadMessage(reinterpret_cast<DWORD>(thread), WM_USER, NULL, cSock) == NULL) //envoyer message pour ajouter socket
{
	cerr << "Could not send infos to the thread 2 !\n";
	Sleep(1);
}
Code du Thread:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_NOREMOVE);
while (TRUE)
{
	if (PeekMessage(&msg, NULL, WM_USER, WM_USER, PM_REMOVE))
	{
		cerr << "Got a mess !\n";
		if (msg.message == WM_USER){
			clients.push_back((SOCKET)msg.lParam);
		cerr << "Got a new socket ! " << (SOCKET)msg.lParam << endl;
		}
	}
}
Merci a tous