Несколько раз я видел упоминание о том, что для асинхронного пинга хорошо использовать витую.
Я написал реализацию по потокам (типа Пинг сайта в Python? )
Но на ~ 200 потоков я влюблен
На странице http://twistedmatrix.com/trac/wiki/ProjectsUsingTwisted я нахожу
txNetTools - Ping, traceroute, icmp и т. д., реализованные в Twisted, и библиотека для тех, кто хочет создавать свои собственные сетевые инструменты.
Кто-нибудь использовал эту библиотеку?
Я пытался использовать его ping.py:
Traceback (most recent call last):
File "ping.py", line 23, in <module>
class Pinger(ICMP):
NameError: name 'ICMP' is not defined
при изменении:
class Pinger(**ICMP**):
до
class Pinger():
Traceback (most recent call last):
File "ping.py", line 54, in <module>
reactor.listenICMP(0, Pinger())
File "./txnet/reactor.py", line 21, in listenICMP
p.startListening()
File "/usr/local/lib/python2.7/dist-packages/twisted/internet/udp.py", line 102, in startListening
self._connectToProtocol()
File "/usr/local/lib/python2.7/dist-packages/twisted/internet/udp.py", line 123, in _connectToProtocol
self.protocol.makeConnection(self)
AttributeError: Pinger instance has no attribute 'makeConnection'
Может я что-то не так делаю или не понимаю?
P.S. витая 12.0