Bonjour, j'ai un problème, je ne reçois que le premier paquet envoyé par mon client, car normalement il est censé m'en envoyé plusieurs mais il m'en envoie qu'un seul. Le problème doit venir d'une boucle ou d'un Thread mal fait car il s'arrête au premier paquet reçus.
# -*- coding: utf-8 -*-
from Database import DatabaseConnection
import socket
from threading import Thread
class Receved(Thread):
def receved(self):
while True:
data = client.recv(2000)
print(data)
if not data:
break
else:
# On traite tous les packets que l'on reçoit
if data == b'<policy-file-request/>\x00':
send(str.encode('<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">\r\n<cross-domain-policy>\r\n\t<allow-access-from to-ports="12301-12321" domain="127.0.0.1" />\r\n\t<allow-access-from to-ports="12301-12321" domain="127.0.0.1" />\r\n\t<allow-access-from to-ports="12301-12321" domain="127.0.0.1" />\r\n</cross-domain-policy>'))
elif data == b'\x01\x03\r\x08\xc0\x00':
send(str.encode('\x01\x03\r\xc8\xf0\x6c\x01\x03\x00'))
VERSION = '1.0'
HOST = '127.0.0.1'
PORT = 55555
def send(packet):
client.send(packet)
print('-----[Serveur | Version {0}]-----'.format(VERSION))
print('Chargement du Serveur...')
print('Le serveur est connecté sur le port {0}...'.format(PORT))
print('En attente de connexion...')
Sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Sock.bind((HOST, PORT))
Sock.listen(100)
client, adresse = Sock.accept()
print('Le client {0} vient de se connecter au serveur !'.format(str(adresse)))
thread = Receved()
thread.receved().start()
print("Le client {0} vient de se déconnecter !".format(str(adresse)))
client.close()
Merci à ceux qui m'aideront ! :)