2012-02-23 5 views
1

여러 번 비동기 핑 (twisting)을 사용하는 것이 좋습니다. , 핑, 경로 추적, ICMP 등, 트위스트 구현 -Twisted 및 ICMP (txNetTools)

내가 스레드 구현을 작성 (Ping a site in Python? 같은)

그러나 스레드 (200) ~에 내가 호감

페이지 http://twistedmatrix.com/trac/wiki/ProjectsUsingTwisted

이 난 txNetTools을 찾을 수 자체 네트워크 도구를 구축하려는 사람들을위한 라이브러리를 제공합니다.

누구든지이 라이브러리를 사용 했습니까?

나는 그것을 ping.py 사용하려 : 어쩌면 내가 잘못하거나 이해하지 뭔가를하고 있어요

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' 

에 :

Traceback (most recent call last): 
    File "ping.py", line 23, in <module> 
    class Pinger(ICMP): 
NameError: name 'ICMP' is not defined 

변경하는 경우?

P. twisted 12.0

답변

3

sandbox/ping.py을 실행하는 경우보고하는 예외는 의미가 없습니다.

from txnet.icmp import ICMP, Packet, ECHO_REQUEST 

이것은 ICMP 이름을 정의 :이 파일은 시작 부분이 수입이있다. Pinger 클래스는 나중에 확장되어 확장됩니다. 이 데모 프로그램을 성공적으로 실행할 수 있습니다 (내 시스템에서 응답을 처리 할 때 알 수없는 메시지 유형으로는 실패하지만).

아마도 이전 버전의 코드를 가지고 있거나 어떻게 든 수정했거나 다른 ping.py을 실행하고 있습니까?

+0

main/sandbox에서 실행하는 경우 : ImportError : txnet.icmp라는 모듈이 없습니다. 나는 메인 폴더에 1 레벨까지 ping.py를 복사한다. – Echeg

+0

오, 나는 오래된 낡은 코드를 가지고있다. – Echeg

+0

나는 최신 마스터를 뽑았지만 여전히이 에러를 얻고있다? –