별표 서버에 연결하기 위해 twisted (별표 ami의 프로토콜 구현 인 StarPy)를 사용하고 싶습니다. 응용 프로그램에서 발신 팩스를 시작합니다. 내 문제에 대한 몇 가지 힌트를 찾았지만 올바르게 처리하는 방법을 찾을 수 없습니다.트위스트로 두 번 연결하는 방법 - 올바르게 수행하는 방법?
첫 번째 팩스가 올바르게 발송됩니다.
문제는 내가 두 번째 트위스트 호출하는 경우, 응용 프로그램이 메인 루프에 걸려 을 유지합니다.
나는 내가 여기처럼 이렇게하지 않을 수 있습니다 알고
from starpy import manager
from twisted.internet import reactor
def main():
f = manager.AMIFactory(cUser, cPass)
print "Login"
df = f.login(cServer, cPort)
def onLogin(protocol):
print "Logoff again"
df = protocol.logoff()
def onLogoff(result):
print "Logoff erfolgt"
reactor.stop()
return df.addCallbacks(onLogoff, onLogoff)
def onFailure(reason):
print "Login failed"
print reason.getTraceback()
df.addCallbacks(onLogin, onFailure)
return df
if __name__ == "__main__":
reactor.callWhenRunning(main)
reactor.run(installSignalHandlers=0)
print "runned the first time"
reactor.callWhenRunning(main)
reactor.run(installSignalHandlers=0)
print "will never reach this point"
내가 코드를 단순화 - 그것은 다시 로그인 + 로그 오프 것보다 아무것도하지 않습니다. 그것은 두 번째 reactor.run() 호출에서 결코 돌아 오지 않을 것입니다.
어떻게 제대로 수행 할 수 있습니까? 나는 여기에 붙어있어 - 미리 감사드립니다.
안녕하십니까, 플로리안.
네, 그게 제가 웹에서 찾은 것입니다. 그러나 어떻게 처리해야하는지 알 수 없습니다. 어쩌면 당신은 나를 올바른 방향으로 향하게 할 수 있습니다. * 원자로는 언제 시작해야합니까? 응용 프로그램 시작시 또는 처음 사용할 때? * 하나의 원자로에 1. 연결/2를 요청할 수 있습니까? 팩스 보내기/3. 연결을 두 번 이상 느슨하게합니까? 저는 막혔습니다. 나는 수천 개의 책을 읽고 개발하는데 돈을 투자했다. 나는 대답을 찾지 못했다 ... 미리 감사드립니다. –
죄송합니다. 여기서 내 피드가 작동하지 않았습니다. –