j'ai fait un écouteur de python (serveur) sur mes vps mais quand je donne le serveur et le client l'IP addreess de vps et le port 8585 cette erreur montre: erreur: socket.error: [Errno 32] Broken pipe
i utilise la version python 2 vps i utilise la version python 3 dans mon PCPython socket.error: [Errno 32] Broken pipe
mon code serveur:
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip = raw_input("ip : ")
ip = str(ip)
port = raw_input("port : ")
port = int(port)
s.bind((ip,port))
s.listen(5)
while True:
c, addr = s.accept()
s.send("welcome !")
print (addr, "connected.")`
client:
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
HOST = input("HOST : ")
HOST = str(HOST)
PORT = input("PORT : ")
PORT = int(PORT)
s.connect((HOST,PORT))
buff = 1024
data = s.recv(buff)
print(data)`
merci j'ai fixé c.send(), mais à propos de la partie que vous avez dit "Vous devez faire l'envoi sur le socket connecté au client et non sur la socket écouteur" il envoie déjà le texte de l'écouteur au client !! : | Je ne vois aucun problème avec ça! –
@MohammadrezaBahari: L'auditeur (s) n'est pas connecté à quoi que ce soit qui signifie que toute tentative de l'utiliser pour l'envoi échouera parce qu'il n'y a pas de destination connue pour les données. On peut seulement envoyer des données sur une socket connectée (c), c'est-à-dire celle retournée par 'accept'. –
maintenant je l'ai eu, merci beaucoup. –