Maison >développement back-end >Tutoriel Python >Connaissance de base de Python 1 : transmission de données de communication réseau

Connaissance de base de Python 1 : transmission de données de communication réseau

coldplay.xixi
coldplay.xixiavant
2021-02-19 10:03:162760parcourir

Connaissance de base de Python 1 : transmission de données de communication réseau

Recommandations d'apprentissage gratuites : Tutoriel Python(vidéo)

Python implémente la transmission de données de communication réseau (connaissances de base (1))

  • Préface
  • Apprentissage des connaissances de base
    • 1. Synchrone et asynchrone
    • 2. Qu'est-ce que le socket
    • 3, Classification des sockets
      • 1. Socket au format de flux SOCK_STREAM
      • 2.
    • 4. Adresse IP, adresse MAC, adresse du port
  • Conclusion

Avant-propos

Je ne suis pas spécialisé en communication et information, mais je suis récemment entré en contact avec certaines connaissances dans ce domaine et cela me semble assez intéressant. Je viens de l'étudier et d'enregistrer les résultats d'apprentissage ici pour que davantage de personnes puissent en tirer des leçons. Ce serait formidable si je pouvais obtenir des conseils du patron ! ! !

Apprentissage des connaissances de base

1. Synchrone et asynchrone

  • Synchronisation signifie que l'ensemble du processus de traitement est exécuté séquentiellement. Lorsque chaque processus est terminé, les résultats sont renvoyés. Il s'agit d'une méthode d'exécution linéaire et le processus d'exécution ne peut pas être franchi. Généralement utilisé pour les procédures impliquant un processus solide, telles que la connexion d'un utilisateur, qui nécessite une vérification de l'utilisateur avant de se connecter au système.
    (L'expéditeur en envoie un et le destinataire en reçoit un, ce qui est synchrone.)
  • Asynchrone envoie simplement l'instruction d'appel. il n'est pas nécessaire d'attendre que la méthode appelée termine son exécution, elle continue d'exécuter le processus suivant ; Il s'agit d'une méthode de traitement parallèle. Vous n'avez pas besoin d'attendre la fin de l'exécution d'un programme. Vous pouvez effectuer d'autres tâches, telles que le processus de chargement des données de la page. Vous n'avez pas besoin d'attendre que toutes les données soient obtenues avant d'afficher la page. .
    (L'expéditeur envoie des données et le destinataire dispose d'une zone tampon, qui peut être acceptée selon ses propres règles. Bien sûr, l'expéditeur peut également envoyer selon ses propres règles. Les deux sont asynchrones)

2. Qu'est-ce qu'une socket ? Traduit par « socket », c'est une convention ou un moyen pour les ordinateurs de communiquer entre eux. Grâce à la convention socket, les connexions réseau sont établies entre les ordinateurs.

  • Pour faciliter la compréhension, nous pouvons le comparer à une prise. Nous pouvons obtenir l'alimentation électrique du réseau électrique en insérant la fiche dans la prise. De même, afin de transmettre. données vers un ordinateur distant, nous avons besoin de nous connecter à Internet et socket est l'outil utilisé pour se connecter à Internet.
  • Différent d'UNIX/Linux, Windows fait la distinction entre les sockets et les fichiers. Windows traite les sockets comme une connexion réseau, vous devez donc appeler un programme spécialement conçu pour le transfert de données. les fonctions, les fonctions d'entrée et de sortie pour les fichiers ordinaires ne sont pas valides.
  • 3. Classification des sockets
  • Les deux principales couramment utilisées sont les sockets au format de flux (SOCK_STREAM) et les sockets au format de rapport de données. (SOCK_DGRAM).

1. La prise de format de streaming SOCK_STREAM

  • présente les caractéristiques suivantes :
    Les données ne disparaîtront pas pendant la transmission
    Les données sont ; transmis en séquence
    Les données sont envoyées et reçues de manière asynchrone.
  • Il utilise le protocole TCP (The Transmission Control Protocol, Transmission Control Protocol). Le protocole TCP contrôlera que vos données arrivent dans l'ordre et sans erreurs.
    L'accent est mis sur la haute qualité.

2. Prise au format datagramme (SOCK_DGRAM)

  • L'ordinateur transmet uniquement des données et n'effectue pas d'exécution. toutes les opérations. Vérification des données, si les données sont corrompues pendant le transport ou n'atteignent pas l'autre ordinateur, il n'y a aucun moyen d'y remédier. En d’autres termes, si les données sont erronées, elles sont erronées et ne peuvent pas être retransmises. Étant donné que les sockets de datagramme effectuent moins de travail de vérification, leur efficacité de transmission est supérieure à celle des sockets au format flux.
  • Il présente les caractéristiques suivantes :
    met l'accent sur la transmission rapide plutôt que sur l'ordre de transmission ;
    les données transmises peuvent être perdues ou endommagées
    limite chaque transmission ; taille des données ;
    L'envoi et la réception des données sont synchrones.
    Les sockets Datagram utilisent également le protocole IP pour le routage, en utilisant le protocole UDP (User Datagram Protocol).
  • Remarque : SOCK_DGRAM n'est pas aussi mauvais qu'on l'imagine, les données ne seront pas perdues fréquemment et les erreurs de données ne sont qu'un événement peu probable.

4. Adresse IP, adresse MAC, adresse du port

  • Adresse IP : est l'abréviation d'Internet Protocol Address, traduit par « Internet Protocol Address ». Actuellement, la plupart des logiciels utilisent des adresses IPv4, mais IPv6 est également accepté, notamment dans les réseaux éducatifs, où il est largement utilisé.
    Pour IPV4, il n'est pas réaliste d'avoir une seule adresse IP pour un ordinateur, il s'agit donc généralement d'une adresse IP pour un réseau local. Le routeur trouvera l'emplacement de l'autre partie en fonction de l'adresse IP. Le routeur dispose d'un algorithme très efficace et intelligent et trouvera rapidement le réseau local cible.
  • Adresse MAC : est une adresse physique. Une adresse LAN contient les adresses MAC de plusieurs ordinateurs en plus de celles-ci. L'adresse IP de l'autre partie est jointe et l'adresse MAC de l'autre partie est également jointe. Lorsque le paquet de données atteint le LAN, le routeur/commutateur trouvera l'ordinateur correspondant en fonction de l'adresse MAC dans le paquet de données
  • Adresse du port : Un ordinateur peut fournir plusieurs services réseau en même temps, tels qu'un service Web (site Web), un service FTP (service de transfert de fichiers), service SMTP (service de boîte aux lettres), etc., avec uniquement l'adresse IP et l'adresse MAC, bien que l'ordinateur puisse recevoir correctement le paquet de données, il ne sait pas à quel programme réseau transmettre le paquet de données pour le traitement , donc la communication échoue. Afin de distinguer les différents programmes réseau, l'ordinateur attribuera un numéro de port unique (Port Number) à chaque programme réseau. Le port est un concept virtuel et logique. Un port peut être compris comme une porte par laquelle les données entrent et sortent. Chaque porte a un numéro différent, qui est le numéro de port. Comme le montre l'image ci-dessous :

    Connaissance de base de Python 1 : transmission de données de communication réseau
  • Remarque supplémentaire : je viens de regarder Port série et port Concept : Le port série est une interface de communication E/S et constitue une catégorie matérielle. Il est appelé port série car il utilise la communication par signal série.
    Le port (faisant référence au système d'exploitation général du PC, sans compter le microcontrôleur) n'est qu'un identifiant numérique de 16 bits, utilisé pour identifier différents processus de communication dans la communication réseau. Il est défini par le système d'exploitation, c'est-à-dire si. il n'y a pas de système d'exploitation Il n'y a pas non plus de notion de ports

Conclusion

J'ai appris un Beaucoup de choses sur la communication récemment, j'espère le sortir et le partager avec tout le monde. Cet article n'est que le début des prochains articles. Faites quelques préparatifs de base. Ensuite, je préparerai quelques connaissances connexes et enfin je. préparera plusieurs exemples pour que tout le monde puisse s'y référer ! ! !
Si vous voulez savoir ce qui s'est passé la prochaine fois, écoutez la répartition la prochaine fois !

Recommandations d'apprentissage gratuites : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Comment installer PycharmArticle suivant:Comment installer Pycharm