문제

Java 응용 프로그램에 대한 명령 줄 인터페이스를 구현하고 싶습니다. 명령 줄 프로그램이 다른 Java GUI 프로그램의 상태에 영향을 미치기를 원한다는 점을 제외하고는 그렇게 어렵지 않습니다. 예를 들어, 나는 다음을 입력 할 수있다.

java CliMain arg1 arg2

그리고 다른 실행되는 GUI 인스턴스는 적절한 조치를 수행합니다.

이와 같은 것을 구현하는 가장 쉬운 방법은 무엇입니까?

도움이 되었습니까?

해결책

GUI 애플리케이션이 TCP 포트에서 청취 할 수 있습니다 ( localhost 인터페이스) 및 CLI 응용 프로그램이 연결됩니다.

이를 수행하는 한 가지 방법은 HTTP를 통해 휴식을 취하는 것입니다.

다른 팁

또 다른 방법은 JMX를 통한 것입니다. 그것은 당신에게 "무료로"많은 것들을 제공합니다 (간단한 경우 콩을 구현하고 등록하는 경우 매우 간단합니다). 특히이 작업에 특히 적합합니다.

GUI 응용 프로그램 (편집자와 같은)을 듣게 할 수 있습니다.

1) 특정 유형의 클립 보드 이벤트
이벤트가 관심있는 유형 인 경우 클립 보드 내용을 얻으십시오.

2) 특정 포트의 서버 소켓
서버 소켓에서 듣습니다. CLI 프로그램이 시작되면 알려진 포트의 서버 소켓에 연결하고 정보를 보내고 종료합니다.

3) 대기열
CLI 프로그램과 GUI 프로그램에서 Deque를 얻을 수 있습니다.

더 조사하려면 EMACS와 같은 많은 전문 편집자가 동일한 메커니즘을 사용합니다. http://www.emacswiki.org/emacs/emacsclient

귀하의 응용 프로그램을 통해 제어 할 수 있습니다 RMI. 응용 프로그램은 제어 인터페이스를 구현하고 LocalHost에 서비스를 등록하면 Command Line 응용 프로그램은 RMI 프록시를 가져 와서 원하는 제어 방법을 호출합니다 ...

처음에는 힘들어 보이지만 시도해 보면 얼마나 쉬운 지 빨리 알 수 있습니다. 또한 암호화를 지원합니다 SSL. 따라서 온라인으로 보안 관련 데이터가있는 경우 데이터 교환을 보호 할 수 있습니다.

가장 쉬운 방법은 GUI가 TCP 포트에서 명령을 듣는 것입니다. 명령 줄은 명령을 보내고 GUI는 해석합니다.

어쩌면 당신은 이름이 지정된 파이프로도 할 수 있지만 Java에서 그것을 어떻게 구현할 것인지 잘 모르겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top