[Cas complet] Développement d'un client de transmission TCP basé sur Socket

1 Conception de l'interface du programme

        Le client TCP est largement utilisé dans le développement d'ordinateurs hôtes. Dans la plupart des cas, le logiciel de l'ordinateur hôte est utilisé comme client TCP pour communiquer avec l'API ou d'autres serveurs. La fonction principale du client TCP est de se connecter au serveur, d’envoyer des données, de recevoir des données et de se déconnecter.

        Ce cas est principalement de développer un logiciel client TCP qui a des fonctions de connexion de base et peut envoyer des chaînes dans différents formats tels que ASCII et UTF8. Il prend également en charge l'envoi de chaînes hexadécimales, ainsi que des fichiers et des données au format JSON. Selon les fonctions ci-dessus, l'interface du programme de conception est représentée dans la figure ci-dessous:

2 Conception du code de programme

  • Affichage des informations de réception: Tout d'abord, écrivez une méthode d'affichage des informations de réception, ici pour afficher les informations reçues via ListView.

  • Se connecter au serveur: la connexion au serveur instancie d'abord l'objet Socket, puis l'implémente en appelant la méthode Connect. Une fois la connexion établie, un thread démarre pour recevoir les données renvoyées par le serveur. Le code spécifique est le suivant:

  • Déconnectez le serveur: déconnectez le serveur et appelez directement les méthodes API associées de Socket.

  • Réception de données: pour la réception et l'analyse des données, étant donné que le logiciel client prend dans ce cas en charge une variété de formes différentes de transmission de données, la réception doit également prendre en charge plusieurs formulaires, donc pour différents formulaires, nous avons créé un type d'énumération pour faciliter le suivi ultérieur. Extension, le code est le suivant:

  • Par conséquent, lorsque les données sont reçues et traitées, nous utilisons le premier octet comme jugement de type. Par exemple, si le premier octet est 0, les données reçues sont considérées comme une chaîne ASCII et seront analysées sous cette forme. Le deuxième octet du début à la fin est la partie de données valide, donc les méthodes de réception et d'analyse des données sont les suivantes:

  • Envoyer une chaîne ASCII: pour une chaîne ASCII, convertissez d'abord la chaîne envoyée en un tableau d'octets selon le format de codage ASCII, puis ajoutez un octet au début du tableau d'octets, la valeur d'octet est Message.ASCII, le code est le suivant Montré:

  • Envoi d'un fichier: avant d'envoyer un fichier, vous devez d'abord sélectionner un fichier. La sélection d'un fichier utilise principalement le composant OpenFileDialog. Le code est le suivant:

  • Après avoir sélectionné le fichier, l'envoi du fichier consiste à convertir le contenu du fichier sélectionné en un tableau d'octets, puis à ajouter un octet à l'avant du tableau d'octets, la valeur d'octet est Message.File, ici sera envoyé deux fois, la première fois est d'en envoyer un La chaîne indique au serveur le nom du fichier à envoyer, en utilisant le codage UTF8, le code est le suivant:

  • Envoi de données JSON: les données JSON impliquent principalement la conversion d'objets d'entité et de fichiers JSON. Ici, une méthode JSONHelper est écrite à l'aide de la bibliothèque Newtonsoft.Json, puis une collection d'objets d'entité doit être créée, puis convertie en chaîne JSON via la méthode EntityToJSON. Ensuite, convertissez la chaîne JSON en un tableau d'octets. De même, vous devez ajouter un octet à l'avant, et la valeur d'octet est Message.JSON. Le code est le suivant:

3 Débogage des fonctions du programme

Le logiciel serveur TCP n'ayant pas encore été développé, nous utilisons ici l'assistant de débogage réseau pour le débogage fonctionnel:

  • Établissez la connexion et la déconnexion:

  • Divers types de données envoi et réception

 

Faites attention au compte Xinge Education Service thinger_as, réponse en coulisses [tirage au sort], les prix sont généreux, premier arrivé, premier servi.

 

Revoir le contenu précédent

 

[Siemens] Construisez un environnement PLC Siemens basé sur PLCSIM-Advanced

[Siemens] Protocole de communication Siemens S7, ce que vous ne savez pas

[OPCUA] L'ordinateur hôte C # réalise un cas de communication OPCUA

[OPCUA] OPCUA + MQTT + Alibaba Cloud, que pouvez-vous faire

[WinCC] C # /. NET combiné avec WinCC pour réaliser la communication de données

[WinCC] Vous apprendre à développer un plug-in d'alarme vocale Wincc basé sur C # [code source joint]

[Cloud APP] Basé sur C # pour réaliser l'application de téléphone mobile pour accéder à Siemens PLC [avec code source]

 

Je suppose que tu aimes

Origine blog.csdn.net/xiketangAndy/article/details/108147881
conseillé
Classement