Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

AsyncCallback ?


zaki

Messages recommandés

bonjour

a quoi sert la classe AsyncCallback en .Net , j'ai trouvé que c'est pour la programmation multithreadé mais j'ai pas compris son fonctionnement!!

aider moi SVP et si c'est possible avec un petit exemple c#

merci

 

If you understand Events, AsyncCallback would be a piece of cake.

Lien vers le commentaire
Partager sur d’autres sites

bonjour

a quoi sert la classe AsyncCallback en .Net , j'ai trouvé que c'est pour la programmation multithreadé mais j'ai pas compris son fonctionnement!!

aider moi SVP et si c'est possible avec un petit exemple c#

merci

 

Salem,

 

Un petit exemple grossier en C# :

 

Sur la class System.Net.Sockets.TcpClient par exemple :

 

TcpClient Client;
.
.
.
// on demande une connexion au host distant :
Client.BeginConnect(Host,Port, [b]new AsyncCallBack([/b][color="Red"]Traitement_Evenement[/color][b])[/b],.....);

// tu peux passer à autre chose  sans même besoin de lancer un thread d'ecoute
....

//Définition de la méthode qui receptionnera l'evenement "Reponse Serveur" //comme suit :

public void TraitementEvenement([font=monospace][b][/b][/font]IAsyncResult Resultat)
{
// ici tu mets ton traitement de la réponse du host 
// Finaliser la connexion par exemple comme suit :
Client.EndConnect(Resultat);
}

 

En gros, c'est du multithreading implicite sans entrer dans les détails d'implémentation.

 

Comme c'est en mode Asynchrone, quand on fait une demande de connexion au serveur avec la méthode BeginConnect, on ne bloque pas le programme car la réponse peut être intercepté à n'importe quel moment et traitée, notre programme peut continuer à faire autre chose, quand le hot distant envoie une réponse à notre demande, le délégué ie la méthode "TraitementEvenement" se déclenche pour traiter l'événement.

Modifié par mouradski
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...