2014-04-10 12 views
2

그래서 지금 나는 rpyc 클라이언트 A가 데이터를 긁어 내고 특정 데이터를 찾으면이를 내 rpyc 서버로 보내 저장합니다. 또한 rpyc 클라이언트 B, C 및 D가 내 rpyc 서버에도 연결되어 있다고 가정 해 보겠습니다. 어떻게하면 서버가 클라이언트 C에 직접 데이터를 보낼 수 있도록 만들 수 있습니까?Rpyc 두 클라이언트와 하나의 서버 간의 인터페이스

답변

2

rpyc is symmetric부터 클라이언트는 서버가 호출하기 위해 콜백을 전달할 수 있습니다. 그런 다음 콜백은 클라이언트 프로세스에서 실행됩니다. 그것은 아마도 당신이 원하는 것을 할 수있는 가장 간단하고 깨끗한 방법 일 것입니다.

따라서 서버가 콜백을 목록에 저장하는 새로운 register_callback(client_callback) 메서드를 노출해야합니다. 그런 다음 새 데이터가 수신 될 때마다 저장된 콜백을 호출하기 만하면됩니다.

콜백을 등록한 클라이언트가 이미 연결이 끊어진 경우도 처리해야합니다. 콜백 호출을 제외하고 올바른 try/except를 추가하는 것만 큼 간단해야합니다 (실제 예외 유형이 무엇인지 기억하지 않지만).

+1

감사합니다. 올바른 경로에 올려주세요. – ark