Bonjour, je suis au bord du gouffre

J'espere que vous aller m'aider a faire un pas en avant

Sous VS 2003 en C++ avec les extensions managées :
Je veut faire un Serveur TCP / Ok la c'a colle. Je démare le serveur sur une action
private: System::Void button1_Click(System::Object * sender, System::EventArgs * e)
{
....
SOCKADDR_IN sinserv; //parametres pour server
SOCKADDR_IN sin; //parametres pour sock
...
while(1)
{
if sock=accept(server,(SOCKADDR*)&sin,&sinsize))!=
INVALID_SOCKET)
label1->Text = S"Client connecté";
....
============== Le probleme

c'est que : ==================
je veux gérer les évènement de réception et d'envoi en dehors du code de mon bouton !!!
et je ne sais pas comment déclarer que
private: .... MaFncReception (...)
{
....
recv(sock,buffer,sizeof(buffer),0);
....
}
doit être appelée sur un évenement lié au socket !!!!
(Par exemple la simple reception d'un texte !!!)
Merci de toute aide
Pascal