2012-01-08 2 views
0

Twisted IRCClient 모듈을 사용하는 프로그램에서 작업 중이며 조금 문제가 있습니다. 클라이언트가 서버에 사인온 할 때 또는 클라이언트가 서버로부터 MOTD를 수신 할 때 오버로드 될 수있는 클래스에는 여러 가지 메소드가 있습니다. 그러나 서버 자체에서 메시지를 처리하거나 서버에 다시 보내야하는 임의의 번호가있는 ping 쿼리에 응답하는 방법은없는 것 같습니다.Twisted IRCClient - 클래스 메서드를 위반하지 않고 원시 데이터를 사용합니까?

이상적으로는 클래스의 lineReceived 메소드를 사용하여 서버의 원시 데이터로 직접 이러한 메소드를 구현할 수 있습니다. 그러나 lineReceived 메소드가 들어오는 라인에 의해 호출 될 때 라인을 거슬러 올라가고 다른 클래스 콜백은 절대 실행되지 않는 것처럼 보입니다. 이 문제를 해결할 방법이 있습니까? 감사.

답변

1

먼저 IRCClient이 메시지를 발송하는 방법에 대한 설명은 'METHODNAME' as Client method versus irc_'METHODNAME' in twisted을 참조하십시오. 그런 다음 irc_PING (이미 구현되었으며 이미 올바른 작업 수행)을 살펴보십시오.

다른 서버 메시지는 다른 유사한 콜백 메소드를 통해 처리됩니다.

+0

감사합니다. Twisted 패러다임에 적응하는 데 어느 정도 시간이 걸렸지 만 계속되고 있습니다. – Bitrex

관련 문제