Y at-il un moyen de limiter le taux de connexion en Python Twisted? J'ai besoin de simuler la dataline lente, avec des délais d'attente et éventuellement la perte de données et utiliser un cadre tordu.Taux de connexion limite en Python Twisted?
Répondre
this post propose trois solutions et analyse les deux plus réalisables - le meilleur est d'utiliser iptables
(ou tout autre logiciel de pare-feu tout aussi puissant et flexible, bien sûr) si votre système d'exploitation prend en charge ce type de logiciel (par exemple, faire le débit de données limitation à l'extérieur de tordu); si votre système d'exploitation n'a pas un tel pouvoir à votre disposition, une solution moins préférable, mais réalisable mentionné il y a
1) Créer un dictionnaire {IP1: count1, IP2:. count2,} dans le serveur, et vérifier la compte pour chaque connexion entrante. Se déconnecter avec transport.loseConnection() si le seuil pour ip: count est dépassé. Réinitialiser ce dictionnaire pour vider dict {} chaque minute avec reactor.callLater timer.
dont la limitation est expliqué dans le poste
approche(1) fera un accept() de la connexion, puis déposez-le, donnant à l'hôte à l'autre extrémité un syn/ACK transaction suivie d'une connexion fermée , puis il probablement tenter de reconnecter immédiatement.
Avez-vous envisagé d'utiliser les compartiments à jetons Twisted?
http://en.wikipedia.org/wiki/Token_bucket http://twistedmatrix.com/documents/current/api/twisted.protocols.htb.html
Oui, j'ai vu ce post .. Iptables est la dernière option. – DominiCane