연결이 설정되면 팩토리의 buildProtocol이 호출되어 해당 연결을 처리 할 새 프로토콜 인스턴스가 만들어집니다. buildProtocol은 연결을 설정 한 피어의 주소를 전달하고 buildProtocol은 연결을 즉시 닫도록 None을 반환 할 수 있습니다.
그래서, 예를 들어, 다음과 같은 공장 작성할 수 있습니다
from twisted.internet.protocol import ServerFactory
class LocalOnlyFactory(ServerFactory):
def buildProtocol(self, addr):
if addr.host == "127.0.0.1":
return ServerFactory.buildProtocol(self, addr)
return None
그리고 로컬 연결을 처리 할 것이다 (그러나 모든 연결은 아직도 당신이 무엇을 피어 학습을 수용해야하기 때문에 처음에 허용됩니다 주소는).
XML-RPC 리소스를 제공하기 위해 사용중인 팩토리에이 설정을 적용 할 수 있습니다. 해당 팩토리를 하위 클래스로 만들고이 논리를 추가합니다 (또는 하위 클래스 대신 래퍼를 수행 할 수 있음).
iptables 또는 다른 플랫폼 방화벽도 경우에 따라 좋습니다. 이 방법을 사용하면 프로세스가 연결 시도를 보지 않아도됩니다.
+1 실제로 그 수표를 적용하는 가장 좋은 장소입니다. 감사. – nosklo