我正在为sipp命令行程序编写Java接口。我当前的代码是:

 ProcessBuilder builder = new ProcessBuilder("sipp", "-sn uac",
              "127.0.0.1");
        Map<String, String> environment = builder.environment();
        Process javap = builder.start();
        InputStreamReader tempReader = new InputStreamReader(new BufferedInputStream(javap.getInputStream()));
        BufferedReader reader = new BufferedReader(tempReader);
        while (true){
            String line = reader.readLine();
            if (line == null)
                break;
            System.out.println(line);
            }


我认为这不起作用,我已经设置了Sipp环境变量,所以这不是问题。标准输出是sipp的帮助消息。我究竟做错了什么?我也想知道,一旦我运行了Sipp,是否可以将参数传递给与其关联的processBuilder对象,以便更改呼叫率?也就是说,sipp允许用户通过按+,-,*来更改通话费率吗?

最佳答案

尝试分解-snuac参数:

ProcessBuilder builder = new ProcessBuilder("sipp", "-sn", "uac", "127.0.0.1");



  我也想知道
  sipp运行是否可以通过
  processBuilder对象的参数
  与之关联,因此我可以更改
  通话费?


如果sipp期望从标准输入中输入,则您应该能够获取到该进程的输出流(javap.getOutputStream())并向该进程写入命令。但是,我对sipp一无所知以告诉您它是否是这样工作的。

07-28 00:01