Est-il possible d'ajouter une méthode doRead() à un objet socket existant?Ajout d'une méthode doRead() à un objet socket existant
la socket nécessite une méthode doRead pour pouvoir être passée au réacteur twisted via la méthode addWriter.
j'ai essayé d'utiliser la nouvelle méthode d'instance du module, mais il ne semble pas fonctionner ...
>>> c
<socket._socketobject object at 0x7fcb03cc8b40>
>>> c.doRead = new.instancemethod(doRead, c, socket._socketobject)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: '_socketobject' object has no attribute 'doRead'
ouais, c'est exactement ce que j'ai fini par faire à la fin. Je pensais qu'il serait plus simple d'ajouter une méthode dans l'objet plutôt que de créer un wrapper, mais je suppose que dans ce cas, il ne peut pas être fait. J'ai effectivement regardé la source de la classe de connexion pendant un certain temps, mais je ne pouvais pas comprendre ce que le paramètre de protocole était, je suppose qu'il s'agit d'un objet de protocole de twisted.internet.protocol? – momo
Oui, c'est ce que c'est. Et c'est là qu'il envoie les données qu'il lit réellement du réseau. –