작업 (재로드)을 수행하기 위해 1 - 많은 클라이언트에 통지해야합니다. 특정 시점에서 서버가 실행 중이거나 실행되지 않았을 수 있습니다. 이러한 이유 때문에 클라이언트가 누구이고 서버가 누구인지를 정의하는 데 약간의 어려움이 있습니다.내 상황에 적합한 IPC 양식
언제든지 서버가 실행될 수 있습니다. 서버가 닫히면 모든 클라이언트에게 작업 수행을 알립니다.
를 사용하고 "클라이언트"에서 여러 인스턴스를 실행 해 보았습니다 (관계가 이상하다는 사실을 기억해야합니다). 유감스럽게도 주어진 서버 이름에 대해 하나의 파이프 서버 만 만들 수 있습니다. 그래서 이것은 효과가 없었습니다. 클라이언트를 계속해서 서버를 확인할 수도 있지만 폴링을 시작하면 DB를 직접 폴링 할 수도 있습니다.
내 상황은 대략 관찰자 패턴과 비슷합니다. 나는 동적으로 구독/탈퇴 할 필요가 없다. 나는 서버가 작업을 수행하기 위해 모든 실행중인 클라이언트에게 통지를 보내길 원한다.
어떻게하면됩니까? IPC와 함께해야한다는 것을 명심하십시오. 서버/클라이언트는 다른 프로세스에서 실행되며 항상 동일한 시스템에서 실행됩니다.
서버 프로세스이고 여러 클라이언트 프로세스 **가 ** 동일한 시스템에 있거나 서버가 네트워크 주소에 상주 할 수 있습니까? –
@ScottChamberlain - 같은 기계. 만약 UDP 나 어떤 형태의 네트워크 통신 만이 이것을 할 수있는 유일한 방법이라면 나는 그것에 대해 개방적이다. –
동일한 기계가 보장되어 더 많은 옵션이 열립니다. –