0

当我运行命令时

Rserve(args="--no-save")

我收到以下错误: SOCK_ERROR: bind error #48 (address already in use)

除此之外,当我在处理应用程序中尝试以下代码时:

如果(游戏开始){

x = x + speedX;
y = y + speedY;

if (frameCount != 1) {} 
else {

  try {
  RConnection c = new RConnection();
  REXP data= c.eval("1");
  System.out.println(data); catch ( REXPMismatchException rme ) {
    rme.printStackTrace();
  } catch ( REngineException ree ) {
    ree.printStackTrace(); } }

它打印出 data 的值 = 0。我不确定问题是 Rserve 无法正常工作还是由于我的 java 语法(我有非常基本的 java 技能,我在 R 方面受过更多教育)

谢谢大家的帮助。

4

1 回答 1

0

SOCK_ERROR: bind error #48 (address already in use)意味着您已经有其他 Rserve 实例在同一端口上运行(或者可能是其他一些服务器进程)。

上面的代码是一个错字(}在 catch 之前丢失),否则它在完成时可以工作:

java -cp ../Rserve.jar:../../REngine.jar:. test
org.rosuda.REngine.REXPDouble@30f39991[1]
于 2015-03-03T21:49:44.183 回答