Script client serveur python bloque après install nouvelle version
Posté : ven. 16 nov. 2018 16:37
Bonjour
D'avance merci infiniment pour vos réponses, je suis petit débutant et je n'ai pas de solution, ce prog fonctionnait
très bien sous la version 2.7.
Suite au passage de Python 2.7 à 3.5 le prog serveur ci-dessous bloque:
# -*- coding: utf-8 -*-
#Serveur TCP
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("192.168.X.XX", XXXX))
server.listen(5)
print ("Serveur TCP à l'ecoute du port XXXX")
while 1:
myclient, address = server.accept()
print ("Connected to ", address)
#etablir la liaison
myclient.send('0') <----------C'EST LA LIGNE QUI BLOQUE , voir le message d'erreur ci-dessous
while 1:
#attendre les donnees du client
data = myclient.recv(512)
if data == "q" or data == "qq":
myclient.close()
break
else:
print ("Recu : ", data,newdata= str(float(data)*2))
print (" envoi :" , newdata)
myclient.send(newdata)
if data == "qq":
server.close()
print ("Le serveur TCP est OUT")
break
else:
print ("Serveur TCP à l'ecoute du port XXXX")
LE MESSAGE D'ERREUR EST LE SUIVANT:
Traceback (most recent call last):
File "/home/pi/Documents/RPI/PROG PYTHON/tcpserver1.py", line 12, in <module>
myclient.send('0')
TypeError: a bytes-like object is required, not 'str'
D'avance merci infiniment pour vos réponses, je suis petit débutant et je n'ai pas de solution, ce prog fonctionnait
très bien sous la version 2.7.
Suite au passage de Python 2.7 à 3.5 le prog serveur ci-dessous bloque:
# -*- coding: utf-8 -*-
#Serveur TCP
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("192.168.X.XX", XXXX))
server.listen(5)
print ("Serveur TCP à l'ecoute du port XXXX")
while 1:
myclient, address = server.accept()
print ("Connected to ", address)
#etablir la liaison
myclient.send('0') <----------C'EST LA LIGNE QUI BLOQUE , voir le message d'erreur ci-dessous
while 1:
#attendre les donnees du client
data = myclient.recv(512)
if data == "q" or data == "qq":
myclient.close()
break
else:
print ("Recu : ", data,newdata= str(float(data)*2))
print (" envoi :" , newdata)
myclient.send(newdata)
if data == "qq":
server.close()
print ("Le serveur TCP est OUT")
break
else:
print ("Serveur TCP à l'ecoute du port XXXX")
LE MESSAGE D'ERREUR EST LE SUIVANT:
Traceback (most recent call last):
File "/home/pi/Documents/RPI/PROG PYTHON/tcpserver1.py", line 12, in <module>
myclient.send('0')
TypeError: a bytes-like object is required, not 'str'