Socket probleme lors de lenvoie d'un tuple
Tchoupi
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis en train de travailler sur les socket et j'essaye d'envoyer depuis un client vers un serveur avec la fonction send().
un tuple mais je recois une erreur :
File "cli1.py", line 11, in <module>
connexion_principale.send(int(data))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple
Je cherche donc un moyen d'envoyer un tuple.Merci bcp
voici mon code:
import socket
host, port = ('localhost', 5566)
connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connexion_principale.connect((host, port))
while True:
data = (8, 2)
connexion_principale.send(data)
connexion_principale.close()
je suis en train de travailler sur les socket et j'essaye d'envoyer depuis un client vers un serveur avec la fonction send().
un tuple mais je recois une erreur :
File "cli1.py", line 11, in <module>
connexion_principale.send(int(data))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple
Je cherche donc un moyen d'envoyer un tuple.Merci bcp
voici mon code:
import socket
host, port = ('localhost', 5566)
connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connexion_principale.connect((host, port))
while True:
data = (8, 2)
connexion_principale.send(data)
connexion_principale.close()
Configuration: Windows / Firefox 74.0
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
tu ne peux envoyer que des suites de caractères. tu dois donc décider comment encoder ton tuple dans une suite de caractères. json, entr'autres, permet de faire cela.
par ailleurs, le récepteur devra s'assurer de recevoir la suite complete avant de décoder.