Canaux asynchrones
L’utilisation de paramètres de canal avec rpc asynchrone vous permet de transmettre des données de manière incrémentielle, à mesure qu’elles deviennent disponibles, sans lier le client et le serveur. Cela est particulièrement utile lorsque vous avez une grande quantité de données à transférer, combinées avec un client lent, un serveur lent ou un réseau lent. Si vous utilisez un canal dans un appel de fonction asynchrone, il s’agit, par définition, d’un canal asynchrone. Les canaux synchrones ne sont pas pris en charge conjointement avec les fonctions asynchrones.
Contrairement aux canaux conventionnels (synchrones) où le serveur gère tous les détails de l’envoi et de la réception des données de canal, les canaux asynchrones sont symétriques. Autrement dit, le client et le serveur peuvent envoyer (push) et extraire des données par le biais du canal.
Notes
Les paramètres de canal ne peuvent être passés que par référence. Même si le fichier IDL montre que les paramètres de canal sont passés par valeur, les stubs générés acceptent les paramètres de canal par référence uniquement.
Dans la discussion suivante sur les canaux asynchrones, une connaissance du constructeur de type de canal est supposée. Pour plus d’informations sur les procédures de canal décrites dans ces rubriques, consultez Canaux.