Hton, Htonl et Htons en C

Hton, Htonl et Htons en C
Recretement, toutes les machines ne stocke pas les octets d'une valeur multi-gytet dans la séquence exacte. Les composants du réseau fournissent une norme de séquence d'octets conventionnelle pour les informations transportées sur le Web, permettant aux systèmes de différentes normes de commande d'octets pour se connecter. L'ordre des octets de réseau est le terme utilisé pour décrire ce. Lors de la création d'une connexion à socket web, il faut s'assurer que les informations dans le péché.port et péché.Les composants addr du sockaddr dans la construction doivent être illustrés dans l'ordre des octets de réseau. Dans ce guide aujourd'hui, nous discuterons de l'utilisation de la fonction Hton, Htonl et HTONS de C pour convertir la séquence d'octets hôte de Valeurs Unicode ou Multibyte en entier en séquence d'octets de réseau.

Exemple 1:

Pour créer un code C, vous devez avoir le compilateur GCC monté sur votre système Kali Linux. Dans le shell Kali Linux, vous devez créer un nouveau fichier C nommé «HTONS.C ". Vous pouvez ouvrir ce fichier avec l'instruction «nano» dans une seule instruction répertoriée dans l'image.

Maintenant que le fichier C est déjà lancé dans l'éditeur Nano, nous allons ajouter un script C pour élaborer l'utilisation de «htons» en C. Chaque code C commence par certains de ses en-têtes inclus en haut afin que nous puissions facilement utiliser les fonctions et variables connexes dans le code. Avant cela, nous devons inclure les en-têtes principaux requis et nécessaires pour la transmission et l'utilisation réussies des données d'entrée et de sortie dans le script. Par conséquent, nous avons jeté le mot-clé «inclure» pour ajouter l'en-tête standard «STdio.h ”,« stdlib.h ”, et« unistd.h ”dans le code.

Après cela, nous devons ajouter des en-têtes système pour activer la programmation de socket en programmation C. Par conséquent, nous utilisons les «Sys / Types.h ”,« Sys / socket.h ”, et« netit / in.En-tête h ”dans le code. Pour utiliser l'utilisation des fonctions htons () dans le code C, nous devons utiliser le «ARPA / INET.H ”Header ici aussi. Maintenant, il est temps de définir le port 8082 avec le mot-clé connect_port qui est nécessaire pour connecter les utilisateurs dans la programmation de socket. Le travail global serait effectué dans la fonction principale () de la programmation C.e., Code du pilote de C. Cette fonction a été lancée avec l'utilisation du mot-clé struct pour définir la structure «sockadd_in» avec un nom de variable «adresse» pour ajouter l'adresse de socket dans cette variable.

Maintenant, l'objet de structure d'adresse de socket «l'adresse» a été utilisée pour utiliser le péché.variable de port qui a appelé la fonction htons () avec la variable connect_port i.e., avoir un numéro de port dedans. La fonction htons () permettrait de l'utiliser de diverses normes d'ordre d'octets.

Maintenant, il est temps de compiler le fichier C nommé «HTONS.C ”après avoir enregistré le code ci-dessus. Pour le compiler, vous devez utiliser le mot clé «GCC» avec le nom de fichier «HTONS.c ”, -o option et le nom du fichier d'objet à créer I.e., «Htons.dehors".

Maintenant, lorsque vous exécutez le fichier d'objet créé par l'instruction GCC, il permettra l'utilisation de commandes d'octets standard dans notre système.

Exemple 2:

Il est temps de créer un autre exemple de C pour utiliser la fonction htonl avec la fonction HTONS dans le code. Pour cela, nous avons créé un autre fichier C nommé «Server.C ”et l'ouvrir avec l'éditeur GNU Nano standard comme indiqué dans l'image jointe.

Après avoir ouvert le fichier C, nous avons ajouté les mêmes en-têtes dans les lignes supérieures que nous l'avons fait dans le premier exemple. Mais, nous avons également ajouté de nouveaux en-têtes: «Temps.h ”Pour utiliser la fonction temporelle, le« errno.h ”consiste à obtenir le numéro d'erreur et la« chaîne.L'en-tête h ”a été rejeté pour utiliser les variables et fonctions de chaîne dans le code. Ce code ne contient que la méthode du pilote principal ().

Deux descripteurs de types entiers ont été déclarés à 0. L'un est d'écouter le fichier et l'autre pour établir une connexion à socket. La structure «socket_address» a été spécifiée à l'aide de la structure intégrée de la programmation de socket sockaddr_in qui stockera l'adresse d'une prise. Un tableau de caractères nommé «MessageBuffer» de la taille 1025 est défini pour stocker tout message qui sera converti en une autre commande d'octet. La variable de temps intégrée time_t est utilisée pour définir la variable «tiques» pour compter les tiques totales d'une horloge. Le LICEAT_FILE_DEScriptor () maintiendra la valeur de retour de la fonction Socket () ou l'initialisation du socket via AF_INET et SOCK_STERM.

La fonction memset () est utilisée ici pour définir les premiers octets de compte d'une variable server_address et messagebuffer sur «0» probablement tout en utilisant la fonction sizeOf (). En utilisant la variable intégrée Server_Address, nous avons défini la famille de socket comme «af_inet», et l'adresse d'entrée de socket comme «inaddr_any» en utilisant la fonction htonl () de C en appelant la variable intégrée S_ADDR. De la même manière, la variable Server_Address a été utilisée pour appeler l'objet Sin_port et stocker le numéro de port 8081 en utilisant la fonction htons () de C.

Maintenant, la fonction bind () de la programmation de socket en C a été utilisée pour lier la prise avec l'adresse spécifiée à l'aide de la variable Listen_File_Descriptor et de la variable Server_Address. La fonction d'écoute du programme C a été appelée ici pour écouter la prise au numéro 10. La boucle while a été initialisée ici pour créer une connexion entre la prise et le temps tout en utilisant la fonction accept (). Ce processus a obtenu les données dans le temps de séquence de données d'octets et les convertir en un ordre d'octet de données standard qui peut être utilisé par la prise et la machine locale. En fin de compte, la connexion s'est clôturée sans aucun problème.

Après avoir exécuté et compilé ce programme, nous avons généré son fichier d'objet.

En exécutant son fichier d'objet, la prise a commencé à écouter les tiques du temps pour chaque seconde et à la convertir en commande d'octets standard.

Conclusion

Cet article concerne l'utilisation des fonctions standard de commande d'octets de réseau pour convertir différentes données provenant du Web en séquences d'octets de réseau standard. Pour cela, nous avons utilisé deux exemples en utilisant les fonctions htons () et htonl ().