2011-09-26 6 views
0

다른 Windows 시스템의 Java 서버에서 실행중인 Java 프로그램에서 Windows 시스템의 프로그램을 실행하고 해당 실행 파일로부터 결과를 반환하려고합니다.java 서버에서 windows 실행 파일을 원격으로 실행하는 방법은 무엇입니까?

이 작업을 수행하는 여러 가지 방법을 연구하고 있지만 인기있는 방법이없는 것 같습니다.

이 분산 호출을 수행하는 빠르고 표준적인 방법은 무엇입니까?

(RPC, CORBA, 소켓 ??)

감사

+0

그들은 모두 정확하고 모두 인기가있다. 그들은 각각 자신의 장점을 가지고있다. –

답변

0

두 시스템이 신뢰할 수있는 LAN 환경에서 실행되는 경우, 소켓이 트릭을 할해야합니다. Java는 매우 편리한 소켓 클래스를 내장하고 있으므로 구현하기가 매우 쉽습니다.

실행자에서 ServerSocket을 만들어야합니다. 그런 다음 루프에서 연결 소켓 인 accept()을 실행하고 프로그램을 실행하고 소켓의 출력 스트림에 데이터를 쓰고 닫습니다.

연결 측에서는 new Socket을 만들고 소켓의 입력 스트림에서 데이터를 읽고 닫습니다.

여러 요청을 동시에 처리하려면 스레드를 프로그래밍하는 방법을 알고 있다면 간단하지만 간단하지만 여전히 쉽습니다.

+0

원격 서버에 jvm이 없으므로 ServerSocket 등을 만드는 Java 프로그램을 실행할 수 없습니다. – Jaizen

+0

서버를 C 또는 C#으로 작성 (.NET이 설치된 경우)하는 것이 훨씬 어렵지 않습니다. 작은 서버를 설치할 수 있다면 왜 JVM을 설치할 수 없습니까? – mpartel

0

다른 컴퓨터에서 java를 실행할 수 없다면 RPC를 수행하는 .NET 응용 프로그램을 다른 컴퓨터의 다른 .NET 응용 프로그램에 로컬로 호출합니다. 이 경우 .NET Remoting 또는 WCF (또는 강제로 사용하는 경우 DCOM)를 사용할 수 있습니다.

또 다른 옵션으로 Java와 .NET 측면에서 소켓을 사용할 수 있습니다. (나는 .NET이 소켓 구현을 가지고 있다고 확신한다.)

관련 문제