End Of File (-EOF)
La commande d'adaptateur End Of File (-EOF) définit un message unique.
L'adaptateur utilise cette commande lors de la communication avec d'autres programmes qui appellent et détectent des appels à la fonction shutdown, comme défini par l'interface de programme d'application (API) de socket. La fonction shutdown désactive toute autre opération d'envoi ou de réception sur une connexion socket. Elle est utilisée pour marquer la fin d'un message.
Sur une opération d'extraction de données (GET ou carte en entrée), l'adaptateur détecte le marqueur Fin de fichier après que votre programme a appelé la fonction shutdown sur l'extrémité d'écriture du socket. Toutes les données reçues avant le marqueur Fin de fichier définissent le message unique utilisé lors du traitement de la mappe.
Sur une opération de routage de données ( PUT ou carte en sortie), l'adaptateur envoie le marqueur Fin de fichier à votre programme en appelant la fonction shutdown sur l'extrémité d'écriture du socket. Toutes les données envoyées avant le marqueur Fin de fichier définissent le message unique utilisé par votre programme.
Lorsque vous utilisez la commande End Of File dans une règle GET à trois paramètres, les résultats suivants se produisent. Un message est d'abord envoyé au client. Le message contient toutes les données auxquelles le troisième paramètre fait référence. Une fois qu'un message est reçu du client, l'adaptateur ferme la connexion de socket.
Lorsque vous utilisez la commande End Of File dans une règle GET à deux paramètres ou dans une carte en entrée, vous pouvez également l'utiliser dans une règle PUT ou dans une carte en sortie de la même mappe. L'inverse est également vrai. Lorsque vous utilisez la commande End Of File dans une règle PUT à deux paramètres ou dans une carte en sortie, vous pouvez également l'utiliser dans une règle GET ou dans une carte en entrée de la même mappe. Une fois que vous avez effectué une opération de récupération des données et une opération de routage des données qui utilisent la commande End Of File, votre programme peut fermer la connexion socket.
Etant donné que la commande End Of File définit un seul message pour chaque opération GET et PUT, vous ne pouvez pas spécifier le mode rafale ni la commande d'adaptateur Quantity (-QTY) dans la ligne de commande.
Avec la commande End Of File utilisée dans la ligne de commande d'une carte en entrée pour un événement de surveillance du moteur de flux, la mappe est déclenchée lorsque l'adaptateur de socket reçoit un message en entrée d'une connexion client ou serveur. L'adaptateur envoie une réponse à la même connexion client ou serveur à l'aide de la commande End Of File sur une opération de routage de données (PUT) ou une carte en sortie. A l'instar de la fonction GET à trois paramètres, la mappe déclenchée reçoit un message et envoie un message.
Toutefois, pour un événement de surveillance du moteur de flux, la mappe déclenchée peut diviser le message de réponse en plusieurs opérations de routage de données. Par exemple, vous pouvez concevoir les cartes en sortie pour un traitement modulaire de la façon suivante. Indiquez une carte en sortie pour envoyer la partie d'en-tête du message. Indiquez une seconde carte en sortie pour envoyer la partie corps. Vous devez spécifier le nom d'hôte et le numéro de port dans la ligne de commande sur les deux cartes en sortie. Vous devez également spécifier la commande End Of File, mais uniquement sur la seconde carte en sortie. La première carte en sortie entraîne l'envoi par l'adaptateur socket de la première partie du message, qui est l'en-tête. Une fois que la mappe a appelé la seconde carte en sortie et que l'adaptateur socket détecte la commande End Of File, l'adaptateur envoie la dernière partie du message, qui est le corps. Il appelle ensuite la fonction shutdown pour marquer la fin du message. Lorsque vous utilisez l’adaptateur socket de cette façon, n’oubliez pas d’utiliser uniquement la commande End Of File sur la dernière carte en sortie.