Tivoli Service Desk 6.0 Developer's Toolkit - Manuel de référence du langage TSD Script
Retour à la page principale
NetAccept associe un gestionnaire d'événements spécifique d'une connexion et des données d'instance à une connexion auparavant gérée par le gestionnaire NetListen.
FUNCTION NetAccept (VAL hndlHost: NETCONNECTION, EventHandler {InstanceData} :EVENT, ): INTEGER:
Nom de l'argument | Description |
hndlHost | Descripteur de la connexion. Ce descripteur peut être utilisé dans les appels des instructions SendMessage et de PostMessage pour communiquer avec l'hôte. Pour pouvoir être utilisé dans un appel de NetAccept, il doit être validé par un gestionnaire d'événements NetListen. |
EventHandler | Traite les messages provenant du serveur. |
Chaque connexion servie par des gestionnaires d'événements NetListen partage le même exemplaire des données d'instance défini pour le gestionnaire d'événements NetListen. Vous pouvez associer un ensemble spécifique de données d'instance à une connexion NetListen établie en appelant l'instruction NetAccept pour cette connexion.
Remarque : L'instruction NetAccept ne peut être utilisée que pour une connexion NetListen et uniquement par son descripteur.
Les données d'instance que vous associez à la connexion ne sont pas utilisées avec les autres connexions ouvertes ou susceptibles d'être établies ultérieurement pour le gestionnaire d'événements NetListen. Lorsque vous appelez l'instruction NetAccept, la connexion est modifiée. Toutes les demandes portant sur le même hôte ou service sont dirigées vers le nouveau gestionnaire d'événements.
Lorsque NetAccept est appelé pour une connexion prise en charge par NetListen, le gestionnaire d'événements transmis à NetAccept reçoit un message $MsgCreate pour créer ses données d'instance. (Un gestionnaire d'événements NetListen a ouvert la connexion avant l'appel NetAccept.)
Un gestionnaire d'événements NetAccept :
Ces codes retour proviennent généralement de la machine locale, sauf indication contraire.
Code retour | Description |
1 | Opération exécutée avec succès. |
-1 | BAD_HANDLE Le descripteur NetConnection ne fait pas référence à un descripteur valide. Ce code retour peut être envoyé si le processus serveur a été arrêté puis relancé depuis l'établissement de la connexion. Il peut provenir de la machine locale ou de la machine à distance. |
-2 | UNKNOWN_VALUE Un paramètre associé à une valeur inconnue a été utilisé avec un appel requérant l'association de ce paramètre à une valeur connue. |
-3 | NO_MEMORY Une quantité de mémoire insuffisante était disponible pour l'opération. |
-4 | NO_CREATE Une connexion n'a pas pu être créée. Ce code retour peut provenir d'une machine locale ou à distance au niveau du système d'exploitation ou du réseau. Il s'applique également à d'autres objets système requis par le serveur. NetRegister renvoie ce message si un second serveur Tivoli Script tente de démarrer sur le même port. |
-5 | INVALID_TYPE Il existe trois messages conçus pour transférer des données sur un réseau. $MsgNetInteger, $MsgNetReal et $MsgNetString n'acceptent qu'un type de données. Ce code de retour est renvoyé si un argument incorrect est transmis à une instruction SendMessage ou PostMessage. |
-10 | OS_CALL_FAILED Un appel a échoué au niveau du système d'exploitation. Ceci peut être dû à une configuration incorrecte ou à une inadéquation des ressources. |
-12 | ERROR_BAD_MSG L'instruction SendMessage ou PostMessage a été appelée avec un message qui n'est pas pris en charge par les instructions NETx (ou avec un message $MsgUser + n défini par l'utilisateur et réservé à une utilisation avec les instructions NETx). |
-13 | HOST_UNREACHABLE L'accès au serveur demandé a échoué. Ce serveur est arrêté, ou il n'existe pas de route vers le serveur, ou aucun gestionnaire d'événements NetListen ou NetRegister n'est exécuté sur le serveur. |
-15 | RESOURCE_LOCK Une autre connexion utilise des ressources partagées requises pour le traitement de l'appel. Une surcharge du système peut être à l'origine de ce code retour. |
-16 | SERVICE_NOT_SUPPORTED Le serveur ne prend pas en charge le service demandé. |
-17 | NO_CONNECTION Aucune connexion valide n'est associée au descripteur. |
-18 | BAD PORT La partie relative au port dans une chaîne désignant un service ne peut pas être résolue par un port ou un service valide. |
NetClose ferme une connexion.
FUNCTION NetClose (VAL hndlHost: NETCONNECTION ): INTEGER:
Argument | Description |
hndlHost | Descripteur de la connexion |
Avant que les données d'instance soient détruites, le gestionnaire d'événements d'une connexion reçoit un message $MsgDestroy.
Remarque : Si la connexion est servie par un gestionnaire d'événements NetListen, les données d'instance ne sont pas détruites.
Lorsque le client lance une fermeture, NetClose ferme la connexion côté client. Le
serveur détecte la connexion fermée et envoie un
message $MsgNetClose au gestionnaire d'événements de
la connexion.
Le serveur détruit toute donnée d'instance associée à la connexion avant de fermer cette dernière.
NetConnect établit une connexion entre deux machines en réseau.
NetConnect accepte deux formats de syntaxe : client et d'égal à égal. Le format principal (répertorié comme la variation client/serveur) est utilisé pour ouvrir des connexions dans les architectures client ou d'égal à égal.
La syntaxe client est la suivante :
FUNCTION NetConnect(REF hndlHost: NETCONNECTION, VAL hostName: STRING, VAL service: STRING ): INTEGER;
La syntaxe d'égal à égal est la suivante :
FUNCTION NetConnect( VAL hndlHost: NETCONNECTION ): INTEGER;
Remarque : Le format d'égal à égal est en fait un raccourci permettant de créer une connexion de renvoi.
Nom de l'argument | Description |
hndlHost | Descripteur du serveur. Ce descripteur peut être utilisé dans les appels des instructions SendMessage et de PostMessage pour communiquer avec le serveur. Si un descripteur existe déjà pour la paire hôte/service, ce descripteur est renvoyé lorsque l'instruction NetConnect est appelée. Si vous utilisez le format d'égal à égal, le descripteur est initialisé pour la connexion de renvoi. |
hostName | Nom ou adresse IP du serveur recherché. |
service | Nom d'un service spécifique demandé par le client au serveur. Si
vous entrez une chaîne de longueur nulle ou la valeur $Unknown, le
serveur recherche un service générique. (Le nom de service peut
comporter jusqu'à 256 caractères.) Si le service est introuvable sur le serveur, le serveur tente d'établir une concordance avec un service générique (enregistré avec un gestionnaire d'événements NetListen). Vous pouvez ajouter à la chaîne désignant le service le numéro de port de la machine à distance, sous la forme suivante : service : nnnn nnnn correspondant au numéro de port TCP/IP. Ou sinon : service : nom nom correspondant à un nom de service TCP/IP. |
Si vous appelez l'instruction NetConnect sur un descripteur associé à une connexion existante, elle ne rouvre pas la connexion mais vérifie que les conditions suivantes sont remplies :
SourceName : Port
Le service par défaut est ASENET/TCP, et le port par défaut 5005.
Renvoie l'adresse à distance associée à une connexion active.
FUNCTION NetGetAddress( VAL handle : NETCONNECTION ) : STRING;
Nom de l'argument | Description |
handle | Descripteur de la connexion active. |
Renvoie le code retour unknown (inconnu) en cas d'erreur ou si la connexion n'est pas active.
L'instruction NetGetHostName renvoie le nom (ou l'ID de machine) du serveur associé à une connexion lorsqu'elle est appelée sur un client. A l'inverse, elle renvoie le nom du client lorsqu'elle est appelée sur le serveur.
FUNCTION NetGetHostName( VAL hndlHost: NETCONNECTION ): STRING:
Nom de l'argument | Description |
hndlHost | Descripteur du serveur. |
Vous pouvez obtenir un descripteur à partir de l'une des sources suivantes :
Code retour | Description |
NetGetHostName | Renvoie le nom (ou l'ID de machine) du serveur associé à ce descripteur. |
Remarque : La valeur
$Unknown est renvoyée si une erreur se produit ou qu'aucun serveur n'est associé à un descripteur.
Renvoie l'adresse IP de la machine locale telle qu'elle est définie par la méthode de résolution des noms IP standard, généralement le serveur de noms de domaine (DNS) ou le fichier de l'hôte.
FUNCTION NetGetLocalAddress : STRING;
Si la configuration du réseau présente des incohérences, ce service peut ne pas fournir l'adresse configurée pour la machine. Si l'hôte a plusieurs adresses, il fournit celle identifiée par le serveur de noms de domaine ou par le fichier de l'hôte.
Renvoie le code retour unknown (inconnu) en cas d'erreur.
NetGetService renvoie la chaîne de nom du service réseau associé à une connexion.
FUNCTION NetGetService ( VAL hndlHost: NETCONNECTION ): STRING:
Nom de l'argument | Description |
hndlHost | Descripteur du serveur. |
Vous pouvez obtenir ce descripteur à partir d'une instruction NetConnect ou du paramètre $Handle désignant un gestionnaire d'événements NetListen, NetAccept ou NetRegister. (NetGetService ne renvoie pas la partie relative au port figurant dans une chaîne désignant un nom de service.)
Code retour | Description |
NetGetService | Renvoie le nom du service associé au descripteur. |
Remarque : La valeur $Unknown est renvoyée si une
erreur se produit ou qu'aucun serveur n'est associé à un descripteur.
L'instruction NetListen enregistre un gestionnaire d'événements générique pour traiter les demandes émanant de clients.
FUNCTION NetListen( EventHandler EVENT): INTEGER:
Nom de l'argument | Description |
EventHandler | Gestionnaire d'événements de type NetConnection traitant les demandes émanant d'un client. |
Demandes de service
Un gestionnaire d'événements NetListen reçoit des demandes de service s'il n'existe pas d'instruction NetRegister ou de service générique correspondant. Si NetListen est à nouveau appelé, le gestionnaire d'événements et les données d'instance sont remplacés par les nouvelles données d'instance.
Chaque fois qu'une nouvelle connexion est établie pour le gestionnaire d'événements NetListen, un message $MsgNetConnect est envoyé à ce gestionnaire.
Un gestionnaire d'événements NetListen possède un jeu de données d'instance partagées pour chacune des connexions établies. Il reçoit un message $MsgCreate lors de son enregistrement et un message $MsgDestroy lors de l'annulation de cet enregistrement.
Les appels du gestionnaire d'événements NetListen fournissent un descripteur au client dans $Handle et un message dans $Event.
Lorsqu'une connexion gérée par un gestionnaire d'événements NetListen est fermée, ce gestionnaire reçoit un message $MsgNetClose pour cette connexion.
NetLoopBack envoie un message à un gestionnaire d'événements local traitant une connexion à une machine à distance.
FUNCTION NetLoopBack (VAL hndlHost NETCONNECTION VAL message: INTEGER, ANY ... ): INTEGER:
Nom de l'argument | Description |
hndlHost | Descripteur désignant un serveur. Ce descripteur doit désigner une connexion établie avec une machine à distance. |
SendMessage
NetRegister enregistre un port source de gestionnaires d'événements acceptant des connexions de clients du réseau. Contrairement à NetListen, NetRegister peut exécuter simultanément plusieurs gestionnaires d'événements sur un serveur.
FUNCTION NetRegister(EventHandler EVENT, VAL service STRING ): INTEGER:
Nom de l'argument | Description |
EventHandler | Traite les messages provenant du client. |
service | Nom du service fourni par le serveur. Ce
nom peut comporter 255 caractères au maximum. Vous pouvez ajouter un numéro de port pour la machine à distance à la chaîne désignant le service, sous la forme suivante : service : nnnn nnnn correspondant au numéro de port TCP/IP. Ou sinon : service : nom nom correspondant à un nom de service TCP/IP. |
Lorsque vous enregistrez un gestionnaire d'événements, vous devez indiquer le nom du service qu'il fournit. Si vous enregistrez le service en indiquant une chaîne de longueur nulle ou la valeur $Unknown, le gestionnaire d'événements peut traiter tout service demandé.
Lorsque vous enregistrez un gestionnaire d'événements, vous pouvez également lui associer des données d'instance. Ces données sont initialisées pour la connexion lorsque cette dernière est établie. (Si le port est indiqué comme partie intégrante du service, le processus serveur peut être exécuté sur une seule machine.)
Permet d'effectuer une trace du réseau. Cette fonction n'est en principe utile que pour identifier et résoudre des incidents liés aux applications.
Remarque : Un filtre facultatif peut être utilisé avec NetTrace pour préciser sur quel type de message doit porter la trace, ce qui permet de ne pas recevoir tous les messages. (Vous pouvez par exemple ne vouloir faire porter la fonction de trace que sur les messages d'erreur.) La syntaxe du filtre facultatif figure après la syntaxe standard.
FUNCTION NetTrace( VAL traceFile : STRING ) : INTEGER;
Function NetTrace( VAL fileName : STRING VAL flags : STRING ): INTEGER;
Nom de l'argument | Description |
traceFile | Nom du fichier de consignation des données de trace. |
fileName | Nom du fichier de consignation des données de trace filtrées. |
flags | Détermine le type de données consignées. Il peut s'agir des indicateurs suivants :
|
Cette instruction peut générer d'importants volumes de données.
NetTrace prend en charge l'unicode reconnaissant les caractères à double octet utilisés dans les langues asiatiques. La variable d'environnement est la suivante :
SAI_NET_USE_UNICODE
Par défaut, cette variable est désactivée.
Tivoli Service Desk 6.0 Developer's Toolkit - Manuel de référence du langage TSD Script