Исключение Rserve: ошибка рукопожатия

Я новичок в языке R и пробовал простую программу на Java с использованием RConnection, но это исключение

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)

это в проводнике RConnection. Может ли кто-нибудь сказать, что может быть неправильным тестом пакета;

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();
    }

}

}


person Shashank gaur    schedule 19.01.2012    source источник


Ответы (2)


Если вы используете RServe в Linux, убедитесь, что у вас есть файл конфигурации в папке /etc/ с именем «Rserv.conf» и с содержимым.

удаленное включение

Это позволяет удаленный доступ к RServe

person Krishna Rangaiah. K    schedule 01.04.2013

Ошибка говорит о том, что чтение не удалось сразу после подключения к Rserve. Ваш Java-код в порядке (при условии, что вы подключаетесь к локальному экземпляру Rserve). Проблема, вероятно, связана с другой стороной — проверьте, запущен ли Rserve (см. часто задаваемые вопросы о Rserve). Вы также можете запустить Rserve в режиме отладки (Rserve(TRUE) в R), чтобы увидеть, что происходит на стороне сервера.

person Simon Urbanek    schedule 05.03.2012