reseaux:tp:serialisation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
reseaux:tp:serialisation [2021/12/21 18:36] – [1.2 Client / Serveur] philreseaux:tp:serialisation [2021/12/21 18:49] – [1.3 JSON] phil
Ligne 101: Ligne 101:
  
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-s.bind(('127.0.0.1', 33033))+s.bind(('0.0.0.0', 33033))
  
 while True: while True:
Ligne 164: Ligne 164:
  
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-s.bind(('127.0.0.1', 33033))+s.bind(('0.0.0.0', 33034))
  
 samples = 0 # Numéro de l'échantillon reçu samples = 0 # Numéro de l'échantillon reçu
Ligne 211: Ligne 211:
  
     msg = "{}, {}, {}".format(t, p, h)     msg = "{}, {}, {}".format(t, p, h)
-    s.sendto (msg.encode(), ("127.0.0.1", 33033))+    s.sendto (msg.encode(), ("127.0.0.1", 33034))
     time.sleep(10)     time.sleep(10)
 </code> </code>
Ligne 222: Ligne 222:
 Coder la désérialisation est beaucoup plus complexe que sérialiser. Il faut prendre en compte tous les possiblités de codage d'un nombre. Par exemple, pour la valeur 10 : 10 10.0 +10 1e1, l'ajout d'espaces, de tabulation de retour à la ligne. Les modules JSON permettent de simplifier les mises en oeuvre avec du code déjà écrit et éprouvé, pour une grande variété de structures et de données. Coder la désérialisation est beaucoup plus complexe que sérialiser. Il faut prendre en compte tous les possiblités de codage d'un nombre. Par exemple, pour la valeur 10 : 10 10.0 +10 1e1, l'ajout d'espaces, de tabulation de retour à la ligne. Les modules JSON permettent de simplifier les mises en oeuvre avec du code déjà écrit et éprouvé, pour une grande variété de structures et de données.
  
 +{{ :reseaux:tp:json.png?nolink&100|}}
 === 1.3 JSON === === 1.3 JSON ===
 Le plus simple pour transmettre des données multiples est d’utiliser le codage **JSON**. En Python, le module json offre les outils de **sérialisation** (**dumps**) et de **désérialisation** (**loads**) qui facilitent grandement la programmation. Le plus simple pour transmettre des données multiples est d’utiliser le codage **JSON**. En Python, le module json offre les outils de **sérialisation** (**dumps**) et de **désérialisation** (**loads**) qui facilitent grandement la programmation.
Ligne 245: Ligne 246:
  
     j = [t, p, h]     j = [t, p, h]
-    s.sendto (json.dumps(j).encode(), ("127.0.0.1", 33033))+    s.sendto (json.dumps(j).encode(), ("127.0.0.1", 33035))
     time.sleep(10)     time.sleep(10)
 </code> </code>
Ligne 256: Ligne 257:
 Calcule également la **taille maximale** du message échangé entre le client et le serveur. \\ Calcule également la **taille maximale** du message échangé entre le client et le serveur. \\
  
-<code pyton minimalserver2.py>+<code python minimalserver2.py>
 import socket import socket
 import binascii import binascii
Ligne 262: Ligne 263:
  
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-s.bind(('0.0.0.0', 33033))+s.bind(('0.0.0.0', 33035))
  
 samples =0 samples =0
  • reseaux/tp/serialisation.txt
  • Dernière modification : 2021/12/21 18:57
  • de phil