Java에서 사용할 수있는 RMI, RMI-IIOP 또는 CORBA 기능을 사용하면 쉽게 수행 할 수 있습니다. 위에서 언급 한 기술을 사용하면 단일 시스템 (서버)에서 단일 인스턴스의 객체를 생성하고이를 원격 인터페이스로 다른 컴퓨터 (네트워크가 필요함)로 내보낼 수 있습니다. 다른 호스트에서는 "실제"인스턴스가 구현하는 인터페이스와 동일한 스텁 클래스를 가지며이 인스턴스에서 메소드를 호출 할 수 있습니다. 이 호출은 종국에 하인의 단일 인스턴스에서 원격으로 호출됩니다. may may 의견, 이것은 당신이 요구하고있는 바로 그 것이다.
더 흥미롭고 흥미로운 접근 방식에서 볼 때 Google 프로토콜 버퍼는 좋은 것처럼 보이지만 프로토콜 버퍼로 더 많은 맞춤 코드가 필요합니다. 웹 서비스는 또한 인터페이스를 내보내는 것을 허용하고 방화벽을 통과하기에 더 적합합니다 (여기에 나열된 다른 방법은 원하는 방식으로 구성 할 수있는 자신의 서버 간 대화에 더 적합합니다).
주어진 운영 체제에서 프로그램 인스턴스가 하나만 실행되도록하려면, discussed in this question과 같이 수행 할 수 있습니다. 프로그램이 고정 포트에서 수신 대기중인 경우 두 번째 인스턴스는 포트가 이미 사용되었으므로 어쨌든 제대로 시작되지 않습니다. 당신이 필요로하는 것은 당신이 양말을 묶고 종결하려고 할 때 예외를 잡는 것입니다.
출처
2013-01-12 21:08:17
h22
무엇이 문제입니까? – MrSmith42
당신은 Client 클래스를 가진 일반적인 자바 라이브러리를 만들고, 각각의 자바 프로그램의 빌드 경로에 추가해야한다고 생각합니다. 그러나 @ MrSmith42는 맞습니다. 의문의 여지가 없습니다. –
죄송합니다. "네트워크를 사용하는 모든 프로그램에 Client 클래스의 단일 인스턴스를 사용하지 않으려 고합니다."라는 간접적 인 질문이있었습니다. – th3falc0n