2012-01-19 5 views
2

내가 언어 R 새로운 오전 실패 RConnection를 사용하여 자바에 간단한 프로그램을 시도하고 있었다 그러나이 예외를 RConnection의 contuctor에서Rserve 예외 : 핸드 셰이크

org.rosuda.REngine.Rserve.RserveException: Handshake failed: expected 32 bytes header, got -1 
    at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:107) 
    at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:60) 
    at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:44) 
    at test.sandeep.main(sandeep.java:9) 

그게 전부를주고있다. 아무도 잘못 말할 수 있습니까? 패키지 테스트;

import org.rosuda.REngine.Rserve.RConnection; 

public class sandeep { 
public static void main(String[] str) { 

    try { 
     System.out.println("hii"); 
     RConnection c = new RConnection(); 
     System.out.println("hii"); 
     double d[] = c.eval("rnorm(10)").asDoubles(); 
     for (double td : d) { 
      System.out.println(td); 
     } 

    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

} 

}

답변

3

오류는 읽기 Rserve에 연결 한 후 즉시 실패했다고 말한다. 자바 코드는 괜찮습니다 (Rserve의 로컬 인스턴스에 연결하는 경우). 이 문제는 다른 쪽에서 발생할 가능성이 있습니다 - Rserve가 실행 중인지 확인하십시오 (Rserve FAQ 참조). 디버그 모드 (R에서는 Rserve(TRUE))에서 Rserve를 시작하여 서버 측에서 어떤 일이 발생하는지 확인할 수도 있습니다.

0

당신이 리눅스 박스에 RServe를 실행하는 경우, 당신은 원격이 원격 가능

수 있도록 이름 "Rserv.conf"로와 내용

와/등/위치에 구성 파일이 있는지 확인 RServe에 대한 액세스