지금은 Twisted 네트워크를 대화식으로 설정하기 위해 iPython을 사용하고 있습니다. 내가 iPython에서 실행되는 스크립트는 내가해야 할 일의 가장 좋은 설명 : 무슨 일이에요언 바운드 파이썬 메서드, 잠재적 인 범위 문제
import router, pdb
# creates nodes which encapsulate RandomVector and VectorAdder objects
a = router.LocalNode(router.RandomVector, '/topic/a_c')
b = router.LocalNode(router.RandomVector, '/topic/b_c')
c = router.LocalNode(router.VectorAdder)
c.registerAsListener('/topic/a_c')
c.registerAsListener('/topic/b_c')
def conn():
global a
global b
a.onConnect()
b.onConnect()
router.r.loadOnConnect(conn)
router.STOMPconnect(router.r)
router.reactor.run()
그 CONN입니다()() 할 때마다이 연결이 끊어 CONN를 실행하는 트위스트 프로토콜에 전달되고있다.
으로 onConnect는 다음과 같습니다
으로 onConnect가 실행됩니다 때마다, 나는 오류 얻을def onConnect(self):
self._lc = LoopingCall(self.advance)
self._lc.start(1)
:
형식 오류 : '언 바운드 방법으로 onConnect()가 첫 번째 인수로 RandomVector 인스턴스 호출해야합니다 (가지고 아무것도 대신) '
왜 이런 일이 일어나는 지 알고 계십니까?
전역 변수에 할당하지 않기 때문에'conn()'에 전역 선언이 필요하지 않습니다. –